반응형

DP 4

백준 DP - 스티커(파이썬)

https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 스티커에는 2행 n열 배열로 이루어져 있는데 저는 1행에서의 큰 값과 2행에서의 큰 값을 비교하면서 두 변을 공유하는 데이터에는 -1로 변경해 주면서 사용할 수 있는 스티커들만 골랐습니다. 정답은 맞혔지만 문제에서는 시간초과로 실패하고 말았습니다.. T = int(input()) def match(dp, row, idx): if(idx > 0 and idx < n-1): dp[row][..

코딩테스트 2023.11.27

백준 DP - 이친수(파이썬)

https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 드디어! 혼자 힘으로 풀었습니다😆 DP를 풀다 보니 이제는 요령이란 게 생긴 것 같습니다. 이친수라는 문제는 1과 0으로 이루어진 숫자를 의미하는데 두 가지 조건을 지켜야만 합니다. 첫 번째, 0으로 시작하면 안 된다. 두 번째, 1이 두 번 연속 있으면 안 된다. 그래서 저는 숫자의 일의 자리가 0일 때와 1일 때를 구분해서 값을 넣어주었더니 메모리 초과로 실패했습니다.. n = in..

코딩테스트 2023.11.27

백준 DP 문제 - 2xN 타일링 만들기 (파이썬)

https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 11726번은 규칙을 찾지 못해 결국 선생님의 도움을 받아서 해결했습니다..!!!! 저는 문어박사 IT편의점 님의 영상을 참고해서 공부했습니다. 2X1과 2X2 타일은 정해져 있기 때문에 따로 연산 필요 없이 직접 계산해서 각각 1, 2가 되었습니다. 이제 3부터 규칙을 정해야 합니다. 3에서는 2X2에 있는 타일에 2X1타일을 붙여놓은 것과 2X1에 있는 타일에 2X2타일을 붙여놓은 것을 합친 개수가 됩니다. 4는 ..

코딩테스트 2023.11.25

백준 DP 문제 - 1로 만들기 (파이썬)

https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 1463번은 DP의 가장 기초적인 문제라고 했지만 어떻게 풀어야 할지 감도 못 잡겠어서 여러 블로그를 참고해 봤지만 역시 이해에는 영상이 최고인 것 같다는 생각이 듭니다. 저는 문어박사 IT편의점 님의 영상을 참고해서 공부했습니다. 1은 그냥 1이므로 따로 연산을 수행할 필요가 없으니 횟수는 0이 됩니다. 그럼 이제 2가 될 때는 +1과 *2와 *3인 경우를 봐야 합니다. 먼저 +1인 경우에는 x+1=2이므로 x는 1이 됩니다. 이때 1의 횟수와 현재 연산을 수행한 횟수 1을 더해서 1이 됩니다. *2인 경우에..

코딩테스트 2023.11.25
반응형