출처: https://www.acmicpc.net/problem/11047
- k보다 작은 동전들만 coins 리스트에 넣어준다.
- coins[]를 내림차순으로 정렬해준다.
- k가 0이 될 때까지 while문
---> 큰 동전 순서대로 k를 coins[i]로 나눈 몫은 동전의 갯수 (p)
---> k를 coins[i]로 나눈 나머지는 현재 동전을 쓰고 난 다음 남은 나머지 값
my code(success)
n, k = map(int, input().split())
coins = []
p = 0 # 필요 동전 개수
for _ in range(n):
a = int(input())
if a <= k:
coins.append(a) # k보다 작은 동전만 coins 리스트에 삽입
coins.sort(reverse=True)
i = 0
while k > 0:
p += k // coins[i]
k = k % coins[i]
i += 1
print(p)