어떤 가게의 욕심쟁이 점원은 거스름돈을 나눠줄때 거스름돈의 개수를 적게해서 주고자 한다.
거스름돈을 입력 받아 점원이 줄 수 있는 최소 거스름돈의 개수를 출력하시오.
예를 들어 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)