
[Python] 백준 #1463- 1로 만들기
·
코딩테스트/백준[Python]
문제 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 코드 My answer n=int(input()) d=[0]*(n+1) d[1]=0 for i in range(2,n+1): tmpa,tmpb=n,n if(i%2==0): tmpa=d[i//2]+1 if(i%3==0): tmpb=d[i//3]+1 tmpc=d[i-1]+1 d[i]=min(tmpa,tmpb,tmpc) print(d[n]) Another answer n = int(input()) li = [0]*(n+1) # 0,1,2,...,n li[1] = 0 for i in range(2,n+1) : li[i] = min((li[i//3]+i%3+1),(li[i//2]..