백준 알고리즘 1463. 1로 만들기

2024. 3. 12. 20:15코딩 테스트/백준

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

 

1463번: 1로 만들기

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

www.acmicpc.net

 

전체 코드

def solution(n):
    memos = [0] * (n + 1)

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

        memos[i] = count

    return memos[n]


N = int(input())
print(solution(N))