티스토리 뷰

https://www.acmicpc.net/problem/1463

 

1463번: 1로 만들기

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

www.acmicpc.net

import sys

X = int(sys.stdin.readline())
d = [0] * (X+1)

for i in range(2, X+1):
    d[i] = d[i-1] + 1
    if(i%2 == 0 and d[i] > d[i//2] + 1):
        d[i] = d[i//2] + 1
    if(i%3 == 0 and d[i] > d[i//3] + 1):
        d[i] = d[i//3] + 1

print(d[X])
공지사항
최근에 올라온 글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함