본문 바로가기
파이썬/코딩 테스트

226p.<실전 문제> : 효율적인 화폐 구성

by L_SU 2022. 7. 14.
# 효율적인 화폐 구성

n, m = map(int, input().split())
won = []
result = 0
count = 0
for i in range(n):
    won.append(int(input()))
won.sort(reverse=True)
while 1:
    if count == len(won):
        result = -1
        break

    if m > 0:
        for i in won:
            if m-i >= 0:
                m -= i
                result += 1
                count = 0
                break
            else:
                count += 1
    else:
        break
print(result)