BOJ 11047 동전 0

LONGNEW·2021년 1월 21일
0

BOJ

목록 보기
79/333

https://www.acmicpc.net/problem/11047
시간 1초, 메모리 256MB
input :

  • N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)
  • Ai가 오름차순 (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

output :

  • K원을 만드는데 필요한 동전 개수의 최솟값을 출력

target을 나눌 수 있는 가장 큰 동전으로 쫘라락 쫘라락... ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

동전을 계산할 때도 그리디를 이용하는 방법과 dp를 이용하는 방법이 있었던 거 같은데 오늘은 이게 왜 그랬는지 이유를 알아 보아야 겠다.

import sys

n, k = map(int, sys.stdin.readline().split())
coin = []
ret = 0
for i in range(n):
    coin.append(int(sys.stdin.readline()))

for i in range(n - 1, -1, -1):
    if k // coin[i] >= 1:
        ret += k // coin[i]
        k %= coin[i]

print(ret)

0개의 댓글