⭐️
def solution(x, y, n):
maxSize = 1000001
dp = [maxSize for i in range(maxSize)]
dp[x] = 0
# DP 응용
for i in range(x,y+1):
if i+n <= y:
dp[i+n] = min(dp[i+n], dp[i]+1)
if 2*i <= y:
dp[2*i] = min(dp[2*i], dp[i]+1)
if 3*i <= y:
dp[3*i] = min(dp[3*i], dp[i]+1)
if dp[y] == maxSize:
return -1
return dp[y]
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges