반응형
11047번: 동전 0
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)
www.acmicpc.net
💡풀이
n, k = map(int, input().split())
coins = []
cnt = 0
for _ in range(n):
coins.append(int(input()))
coins.reverse()
for i in range(n):
if k // coins[i] >= 1:
cnt += (k // coins[i])
k %= coins[i]
else:
continue
print(cnt)
- 입력받은 동전의 종류를 받아 list안에 넣고, reverse하여 큰 순서대로 sorting한다. → 최소 동전 개수를 보장하기 위해서는 큰 단위의 동전부터 사용해야하니까!
- 뒤집어놓은 coins list를 차례대로 돌면서 k보다 작아서 나눌 수 있으면
- 몫을 cnt에 더하고
- 나머지는 다시 k로 할당한다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
| BAEKJOON #1448) 삼각형 만들기 (python) (0) | 2021.09.05 |
|---|---|
| BAEKJOON #1439) 뒤집기 (python) (0) | 2021.09.05 |
| BAEKJOON #11399) ATM (python) (0) | 2021.09.01 |
| BAEKJOON #2839) 설탕 배달 (python) (0) | 2021.09.01 |
| BAEKJOON #1966) 프린터 큐 (0) | 2021.06.14 |

댓글