Post
동전 0(백준 11047번) | Gihun Son

동전 0(백준 11047번)

💡 **Check Point !

( 해당사항 ✓체크 )

  1. 막힘 없이 수월하게 풀린 문제인가? ✓

  2. 1시간이내로 풀렸던 문제인가?

  3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?

  4. 시간을 써도 도무지 풀 수 없는 문제인가?

  5. 솔루션을 찾아봤는가?


난이도 체감

  1. 최상

  2. 하✓


이해도

  1. 완벽히 이해✓

  2. 다소 헷갈리는 부분들이 있음

  3. 이해 못함

문제

준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.

동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.

Untitled

Untitled 1

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sys
input=sys.stdin.readline

N,K=map(int,input().strip().split())
coins=[]
for _ in range(N):
    coin=int(input().strip())
    coins.append(coin)

total_num=0

for i in range(len(coins)-1,-1,-1):
    n=K//coins[i]
    if n>0:
        K-=(n*coins[i])
        total_num+=n
print(total_num)
  • 단위가 큰 동전 순서대로 돈을 지불하는 방식으로 코드를 구성하였다.
This post is licensed under CC BY 4.0 by the author.