1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
[코드]
N = int(input())
dp = [0, 0, 1]
for i in range(3, N+1):
dp.append(dp[i-1] + 1)
if i % 2 == 0:
dp[i] = min(dp[i//2] + 1, dp[i])
if i % 3 == 0:
dp[i] = min(dp[i//3] + 1, dp[i])
print(dp[N])
'코딩테스트 준비 > [백준]' 카테고리의 다른 글
[백준]11057번 - 오르막 수 (파이썬) (0) | 2021.05.08 |
---|---|
[백준]11726번 - 2×n 타일링 (0) | 2021.05.08 |
[백준] 1904번 - 01타일 (0) | 2021.05.07 |
[백준] 2193번 - 이친수 (0) | 2021.05.07 |
[백준] 11055번 - 가장 큰 증가부분 수열 (0) | 2021.05.01 |