https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
💡 다이나믹 프로그래밍 사용
1. 소스코드
n = int(input())
dp = [0 for i in range(n+1)]
for i in range(2, n+1):
dp[i] = dp[i-1] + 1
if i%2 == 0:
dp[i] = min(dp[i], dp[i//2]+1)
if i%3 == 0 :
dp[i] = min(dp[i], dp[i//3]+1)
print(dp[n])
'백준문제풀이' 카테고리의 다른 글
[백준 문제풀이] 9095번 : 1,2,3 더하기 (0) | 2021.07.20 |
---|---|
[백준 문제풀이] 11726번 : 2×n 타일링 (0) | 2021.07.20 |
[백준 문제풀이] 1676번 : 팩토리얼 0의 개수 (0) | 2021.07.19 |
[백준 문제풀이] 6588번 : 골드바흐의 추측 (0) | 2021.07.19 |
[백준 문제풀이] 1929번 : 소수 구하기 (0) | 2021.07.18 |