풀이과정 재귀함수로 접근할 수 있으나, 시간 제한으로 인해 문제를 해결할 수는 없다. 따라서, 다이내믹 프로그래밍(배열을 통해 반복되는 계산을 최소화)를 이용하여 문제를 해결한다. 답안 N=int(input()) d=[0 for _ in range(N+1)] for i in range(2,N+1): d[i]=1+d[i-1] if i%3==0: d[i]=min(d[i],d[i//3]+1) if i%2==0: d[i]=min(d[i],d[i//2]+1) print(d[N]) 자세한 설명 정수 N을 받아오고, N+1개의 0으로 이루어진 배열을 생성한다. 2부터 N이 될때까지(1이 주어졌을 경우 연산을 수행하지 않아도 되므로 1은 반복문에서 제외한다.) 주어진 수는 이전 수 + 1의 연산 수를 가지는데, 주어진..