n, k = map(int, input().split())
coin = []
for i in range(n) :
coin.append(int(input()))
coin.sort(reverse = True)
count = 0
for i in coin :
if (k == 0):
break
else :
count += k // i
k -= i * (k//i)
print(count)
coin 을 내림차순으로 정렬한 후, 단위가 큰 동전부터 계산한다.
동전을 k로 나눈 몫이 그 동전이 필요한 개수이다.
계산이 된 만큼 K를 감소시키다가, 0 이 되면 동전으로 K를 다 만든 셈이므로 반복문을 탈출한다.
'알고리즘 > 그리디' 카테고리의 다른 글
[Python] 백준 1783: 병든 나이트 (0) | 2021.09.23 |
---|---|
[Python] 백준 10610: 30 (0) | 2021.09.14 |
[Python] 백준 2875: 대회 or 인턴 (0) | 2021.09.08 |
[2019 카카오 신입 공채] 무지의 먹방 라이브 (0) | 2021.09.07 |
[K 대회 기출] 만들 수 없는 금액 (0) | 2021.09.07 |
댓글