DHistory
[Baekjoon] DP - 14916 거스름돈 본문
문제
풀이
"""
d[n]: 돈이 n원일 때 2원 짜리와 5원 짜리로 줄 수 있는 동전의 최소 개수
"""
n = int(input())
INF = 987654321
def solution(n):
if n == 1:
return - 1
d = [INF] * (n + 1)
d[2] = 1
for i in range(4, n + 1):
if not i % 2:
d[i] = min(d[i], i // 2)
if not i % 5:
d[i] = min(d[i], i // 5)
d[i] = min(d[i], min(d[i - 2] + 1, d[i - 5] + 1))
return d[n] if d[n] != INF else -1
print(solution(n))
채점 결과
'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] DP - 13301 타일 장식물 (0) | 2023.09.11 |
---|---|
[Baekjoon] DP - 10826 피보나치 수 4 (0) | 2023.09.11 |
[Baekjoon] Sort, Binary Search - 2776 암기왕 (0) | 2023.09.11 |
[Baekjoon] Sort - 11652 카드 (0) | 2023.09.11 |
[Baekjoon] Sort - 1302 베스트셀러 (0) | 2023.09.09 |