이코테1 [이것이 코딩 테스트다] 1로 만들기 - 다이나믹 프로그래밍 백준 1로 만들기와 같은 유형의 문제다.X에서 1로 만들기 방법이다. X에서 1로 한 번 순회한다.현재 위치 i (1에서 연산가능한 모든 숫자에 최소 연산 횟수를 기록한다.i가 1이 될 때까지 위 과정을 반복한다.# 1로 만들기X = int(input())dp = [10**8] * (X+1)dp[X] = 0for i in range(X, 0, -1): dp[i-1] = min(dp[i]+1, dp[i-1]) if i%2 == 0: dp[i//2] = min(dp[i]+1, dp[i//2]) if i%3 == 0: dp[i//3] = min(dp[i] + 1, dp[i//3]) if i%5 == 0: dp[i//5] = min(dp[i] + 1, .. 2024. 9. 5. 이전 1 다음