BOJ: https://www.acmicpc.net/problem/1463
Code:
N = int(input())
dp = [0]*(N+1)
for i in range(2,N+1):
dp[i] = dp[i-1] + 1
if i%2 == 0:
dp[i] = min(dp[i],dp[i//2]+1)
if i%3 == 0:
dp[i] = min(dp[i],dp[i//3]+1)
print(dp[N])
1) n받고
2) dp 리스트 만들어
3) dp[i-1] + 1 를 dp[i]에 저장하고
4)