출처 :https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 : n = int(input()) a = [0]* (n+1) for i in range(2,n+1): a[i] = a[i-1] + 1 if i % 3 == 0 : a[i] = min(a[i], a[i//3]+1) if i % 2 == 0 : a[i] = min(a[i], a[i//2]+1) print(a[n]) 다이나믹 프로그래밍의 정석인 문제가 아닐까 생각한다. 하지만 못 풀었다... 조금 이런 접근이 낯설었다. 우선 다이나믹 프로그램에서는 무엇을 미리 배열을 정할지를 생각해야한다. 지금까지 문제..