프로그래밍/Python

[Python] 백준 11047 동전0

모영이 2021. 2. 15. 18:14

 

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

그리디 알고리즘

 

1) 큰 동전부터 사용하기에 동전 배열을 뒤집어준다.

2) K에서 동전을 나눈 몫을 카운트 한다.

3) K에 동전을 나눈 나머지 값을 넣어준다.

 

전체 코드

N, K = map(int, input().split())
dongjun = []
for _ in range(N):
    dongjun.append(int(input()))
dongjun = reversed(dongjun)

count = 0
for i in dongjun:
    count += K//i
    K = K%i

print(count)

 

'프로그래밍 > Python' 카테고리의 다른 글

[Python] 백준 2470 두 용액  (0) 2021.02.15
[Python] 백준 11399 ATM  (0) 2021.02.15
[Python] 백준 10773 제로  (0) 2021.02.15
[Python] 백준 2164 카드 2  (0) 2021.02.15
[Python] 백준 2667 단지번호붙이기  (0) 2021.02.10