www.acmicpc.net/problem/5585

 

5585번: 거스름돈

타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사

www.acmicpc.net


풀이전략

1. 거스름 돈의 액수를 구한다. : 1000 - N

2. 500엔, 100엔, 50엔, 5엔, 1엔 순으로 반복문을 돌린다.

3. 아래와 같은 순서로 반복을 진행하고, N이 0이 됐을 때 반복문을 종료한다.

코드

import sys
# sys.stdin = open("C:/Users/JIn/PycharmProjects/coding_Test/input.txt", "rt")

change = 1000 - int(input())
numPaper = 0
paperTypes = [500, 100, 50, 10, 5, 1]

for paperType in paperTypes:
    a, b = divmod(change, paperType)
    numPaper += a
    change = b
    if change == 0:
        print(numPaper)
        break

 

 

+ Recent posts