[codeup] 3301 : 거스름돈

SUNGJIN KIM·2022년 9월 4일
0

CODEUP

목록 보기
64/76
post-thumbnail

문제

어떤 가게의 욕심쟁이 점원은 거스름돈을 나눠줄때 거스름돈의 개수를 적게해서 주고자 한다.

거스름돈을 입력 받아 점원이 줄 수 있는 최소 거스름돈의 개수를 출력하시오.

예를 들어 54520원인 경우,

거스름돈으로 50000원권 1장, 1000원권 4장, 500원 1개, 10원 2개 해서 총 8개이다.

(※ 현재 우리나라가 사용하고 있는 화폐를 사용한다. 10원 50원 100원 500원 1,000원 5,000원 10,000원 50,000원)

입력

거스름돈 n이 입력된다. ( n은10이상의 int 범위 )

입력 예시

54520

출력

최소 거스름돈의 개수를 출력한다.

출력 예시

8

문제 풀이

이전에 풀었던 온도 문제보다는 조건이 간결한 편이다.
처음에는 자릿수의 길이로 나눌까 고민했는데, 케이스가 어짜피 몇 없어서 그냥 배열의 모든 화폐에 대해 비교를 하기로 결정했다.

n = int(input())

cash = [50000,10000,5000,1000,500,100,50,10]

count = 0

for change in cash:
    if n >= change:
        count += n//change
        n = n%change
        if n%change == 0:
            break

print(count)
profile
#QA #woonmong

0개의 댓글