자기개발👨‍💻/코딩 알고리즘

[python] 백준 1463 1로 만들기

천숭이 2020. 12. 28. 20:00

www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net

n=int(input())
arr=[0]*(n+1)

arr[0]=0
arr[1]=0

for i in range(2,n+1):
    arr[i]=arr[i-1]+1
    if(i%2==0):
        arr[i]=min(arr[i],arr[i//2]+1)
    if(i%3==0):
        arr[i]=min(arr[i],arr[i//3]+1)

print(arr[n])