728x90
https://www.acmicpc.net/problem/1463
import sys
input = sys.stdin.readline
N = int(input())
dp = [0] * (N + 1)
for i in range(2, N + 1):
if i == 2 or i == 3:
dp[i] = 1
dp[i] = dp[i - 1] + 1
if i % 3 == 0:
dp[i] = min(dp[i // 3] + 1, dp[i])
if i % 2 == 0:
dp[i] = min(dp[i // 2] + 1, dp[i])
print(dp[-1])
728x90
'Study > Coding Test' 카테고리의 다른 글
[백준] 11726 - 2×n 타일링 Python (0) | 2023.06.04 |
---|---|
[백준] 2579 - 계단 오르기 Python (0) | 2023.06.02 |
[백준] 17070 - 파이프 옮기기1 Python (0) | 2023.05.23 |
[백준] 10815 - 숫자 카드 Python (0) | 2023.05.23 |
[백준] 2839 - 설탕 배달 Python (0) | 2023.05.23 |