백준 실버4 11047. 동전 0 (python)

김범기·2024년 3월 24일

백준

목록 보기
17/18

동전 0

풀이

처음에는 각 동전이 주어지는 것으로 착각을 해서 오래걸렸다.

문제 내용은 각 동전이 주어지는 게 아닌 각 동전이 가지는 가치가 주어지는 것이다.
따라서 세상에 100원 짜리, 500원 짜리, 1000원 짜리의 3가지 동전이 있다면 몇 개의 동전이 필요한가 700원을 만드는데 몇 개의 동전이 필요한가? 라는 문제이다.

내용을 제대로 알고 나니 다음과 같이 풀 수 있었다.

  1. 입력받기
  2. 동전의 가치를 내림차순으로 정렬하기
  3. answer 변수를 생성 후, A를 for 문을 이용해서 가치에 따른 동전의 갯수 파악하기
  4. answer 출력
import sys
N, K = map(int, sys.stdin.readline().split())

# 각 동전이 아니라, 동전의 가치를 입력받는 A
A =  []
for _ in range(N):
    a_tmp = int(sys.stdin.readline())
    A.append(a_tmp)
A.sort(reverse = True)

answer = 0
for i in range(N):
    # K값이 0이면 동전이 필요없음
    if K == 0:
        break
    answer += K // A[i]
    K = K % A[i]

print(answer)
profile
반드시 결승점을 통과하는 개발자

0개의 댓글