https://www.acmicpc.net/problem/11047
문제 풀이
1. 가지고 있는 동전을 역순으로 정렬
2. 이후 동전을 큰 동전부터 최대로 사용할 수 있는 만큼 cnt에 계속 더해주기
3. k는 위에서 동전을 다 더해준 후 계산해야 될 나머지, 큰 동전부터 나누기 반복
4. k = 0이면 break
n, k = map(int, input().split())
coin_list = [int(input()) for _ in range(n)]
cnt = 0
coin_list.sort(reverse=True)
for coin in coin_list:
if k == 0:
break
cnt += k // coin
k %= coin
print(cnt)
'Algorithm' 카테고리의 다른 글
[파이썬] 백준 1927번, 11279번, 11286번: 최소 힙, 최대 힙, 절대값 힙 (0) | 2021.07.06 |
---|---|
[파이썬] 백준 1676번: 팩토리얼 0의 개수 (0) | 2021.07.05 |
[파이썬] 프로그래머스: 모의고사 (0) | 2021.07.04 |
[파이썬] 백준 1931번: 회의실 배정 (0) | 2021.07.02 |
[파이썬] 백준 11399번: ATM (0) | 2021.07.01 |