알고리즘/백준
[백준] 1463번 1로 만들기 (파이썬)
알감자
2022. 1. 1. 23:34
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
코드
import sys
n = int(input())
li = [0]
for i in range(1, n+1):
if i == 1:
li.append(0)
elif i == 2:
li.append(1)
elif i == 3:
li.append(1)
else:
a, b, c = sys.maxsize, sys.maxsize, sys.maxsize
if i % 3 == 0:
x = i // 3
a = li[x]
if i % 2 == 0:
y = i // 2
b = li[y]
z = i - 1
c = li[z]
li.append(min(a,b,c) + 1)
print(li[n])