Hanbit the Developer

[그리디] Python - 11047번, 동전 0 본문

Algorithm/백준

[그리디] Python - 11047번, 동전 0

hanbikan 2021. 3. 15. 09:06
import sys
input = sys.stdin.readline

N, K = map(int, input().split())
coins = []
for _ in range(N):
    coins.append(int(input()))

RET = 0
curMoney = K
while curMoney > 0:
    curMaxCoin = coins.pop()
    RET += curMoney // curMaxCoin
    curMoney = curMoney % curMaxCoin

print(RET)

 

최댓값을 꺼내서 RET, curMoney에 각각 연산해준다. 여기서 RET의 연산은 curMoney보다 curMaxCoin이 크면 0을 반환할 것이고, curMoney는 그대로일 것이다. 따라서 curMaxCoin이 curMoney 이하인지 검사하는 것은 생략해도 된다.