반응형
https://www.acmicpc.net/problem/11047
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())
coin = []
cnt = 0
for _ in range(n):
coin.append(int(input()))
coin.sort(reverse = True)
for i in coin:
if k >= i:
cnt += (k // i)
k %= i
print(cnt)
그리디 알고리즘의 기초인 거스름돈 문제를 해결해 보았다.
이 문제는 큰 화폐가 작은 화폐의 배수 이기 때문에 쉽게 해결 할 수 있었다.
그리디 알고리즘 참고
그리디 알고리즘 ( Greedy Algorithm ) - Python
그리디 알고리즘( Greedy Algorithm ) - Python 그리디 알고리즘은 단순하지만 강력한 문제 해결 방법이다. 단어 그대로 번역 하면 탐욕법 이고 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘 이다.
thingjin.tistory.com
반응형
'BOJ > Python' 카테고리의 다른 글
백준 1302번 베스트셀러 파이썬 (0) | 2022.01.07 |
---|---|
백준 11557번 Yangjojang of The Year 파이썬 (0) | 2022.01.06 |
백준 1789번 수들의 합 파이썬 (0) | 2021.12.26 |
백준 11653번 소인수 분해 파이썬 (0) | 2021.12.20 |
백준 1978번 소수 찾기 파이썬 (0) | 2021.11.19 |