Koala - 13기/코딩테스트 준비 스터디

[백준/Python] 14916번: 거스름돈

junju404 2024. 1. 22. 04:04

문제

https://www.acmicpc.net/problem/14916

 

설명

- DP (다이나믹 프로그래밍)

- 1부터 9까지의 숫자 중에서 -1이 나오는 경우는 1과 3밖에 없다. 그리고 나머지 값들에 대해서는 미리 해당하는 동전 개수를 할당해주었고, 10부터의 숫자는 동일한 규칙을 발견할 수 있다.

    10원 : 5원 * 2 + 2원 * 0 => (5원) + 1개

    11원 : 5원 * 1 + 2원 * 3 => (6원) + 1개

    12원 : 5원 * 2 + 2원 * 1 => (7원) + 1개

     .

     .

 

코드

n = int(input())

    #  0   1  2   3  4  5  6  7  8  9
dp = [-1, -1, 1, -1, 2, 1, 3, 2, 4, 3]

for i in range(10, n+1):
    dp.append(dp[i-5]+1)

print(dp[n])