티스토리 뷰

PS/BOJ

[Python] [백준] 11047번: 동전 0

개발을해보자 2020. 9. 23. 11:50

 

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로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)

둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

출력

첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.

 

coin_num, coin_sum = map(int, input().split())
coin_list = [int(input()) for _ in range(coin_num)]

answer = 0
for coin in coin_list[::-1]:
    if coin <= coin_sum:
        answer += coin_sum // coin # 동전 개수 카운트
        coin_sum %= coin # 남은 금액 업데이트

print(answer)

 

 

 

댓글을 통한 질문이나 피드백은 언제나 환영입니다!

'PS > BOJ' 카테고리의 다른 글

[Python] [백준] 14503번: 로봇 청소기  (0) 2020.10.05
[Python] [백준] 2108번: 통계학  (0) 2020.09.23
[Python] [백준] 1181: 단어 정렬  (0) 2020.09.23
[Python] [백준] 7568번: 덩치  (0) 2020.09.23
[Python] [백준] 1065번: 한수  (0) 2020.09.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함