문제풀이
N = int(input())
dp_table = [0] * (N+1)
for i in range(2, N+1):
dp_table[i] = dp_table[i-1] + 1
if i % 3 == 0:
dp_table[i] = min(dp_table[i], dp_table[i//3] + 1)
if i % 2 == 0:
dp_table[i] = min(dp_table[i], dp_table[i//2] + 1)
print(dp_table[N])
'ALGORITHM > Algorithm 문제풀이' 카테고리의 다른 글
[문제풀이] 백준 1932번 정수 삼각형 (0) | 2022.02.19 |
---|---|
[문제풀이] 백준 2579번 계단 오르기 (0) | 2022.02.19 |
[문제풀이] 백준 2839번 설탕 개수 (0) | 2022.02.19 |
[문제풀이] 백준 4963번 섬의 개수 (0) | 2022.02.05 |
[문제풀이] 백준 4673번 셀프 넘버 (0) | 2022.01.27 |