알고리즘/문제풀이

백준[5585] 거스름돈 (파이썬)

레이튼 2021. 12. 10. 16:37

두 번째 문제이다. 아직 겁이나 기본적인 문제들에만 깔짝대는 중이다.

코딩 테스트 관련 서적에도 실려있어 조금 수월하게 풀 수 있었던 문제이다.

 

내야 할 거스름돈과 입력값(지불할 돈)이 다르니 주의해야 한다.

반복문과 몫을 구하는 '//' 연산, 나머지를 구하는 '%' 연산을 번갈아 사용해 풀면 되는 문제다.

자세한 내용은 코드에 작성해 놓았다.

 

pay = int(input())  # 지불할 돈 입력받기

pay = 1000 - pay  # 내야 할 거스름돈 계산
charges = [500, 100, 50, 10, 5, 1]  # 잔돈 단위 리스트로 작성
count = 0  # 잔돈의 개수

for charge in charges:
    count += pay // charge  # 거스름돈을 잔돈으로 나눈 몫 = 그 잔돈 단위가 사용되어야 하는 갯수
    pay = pay % charge  # 나머지 = 앞으로 더 줘야 하는 거스름돈

print(count)