[top down 방식과 memoization] import sys sys.setrecursionlimit(10**6) def dp(n): #base case if n == 2 or n == 3: memo[n] = 1 return memo[n] elif n == 1: memo[n] = 0 return memo[n] #memoization if n not in memo: if n % 6 == 0: #점화식 memo[n] = 1+min(dp(n//3),dp(n//2)) elif n%3 == 0: #점화식 memo[n] = 1+min(dp(n//3), dp(n-1)) elif n%2 == 0: #점화식 memo[n] = 1+min(dp(n//2), dp(n-1)) else: #점화식 memo[n] = dp(n..