https://www.acmicpc.net/problem/2839
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
N = int(input())
d = [10001]*(N+10)
d[3]=d[5]=1
for i in range(6,N+1):
if d[i-5]!=10001:
d[i]=min(d[i],d[i-5]+1)
if d[i-3]!=10001:
d[i]=min(d[i],d[i-3]+1)
if d[N]==10001:
print(-1)
else:
print(d[N])
다이나믹 프로그래밍:
i 에 5와 3을 뺀 인덱스 중에 더 작은 값을 가진 인덱스의 값에 +1 을 하여 설탕 배달을 최소로 한다.
'[Algorithm]' 카테고리의 다른 글
| 완전탐색 - 여러 구간, 구간 합의 최댓값이 최소가 되도록 (0) | 2023.05.08 |
|---|---|
| [이코테] 다익스트라 알고리즘 (0) | 2022.06.02 |
| [백준] 9251-LCS (0) | 2022.05.25 |
| 백준 11792- [재귀함수] 하노이 탑 이동순서 (0) | 2021.09.28 |
| 백준-15649-백트래킹 1 (0) | 2021.09.26 |