BOJ_5585 거스름돈 -Python3

문제분석

1. 관찰
- 500, 100, 10, 5, 1 로 거스름돈을 받는다.
- 1000엔을 냈을 때 받는 잔돈의 개수를 구해야한다.
- 거스름돈 개수가 가장 적은 경우에 개수를 출력한다.

- 거스름돈이 가장 적은 경우는
- 큰돈부터 차례대로 값을 채워나가는 경우이다

2. 복잡도
- 사칙연산 

3. 자료구조
- 거스름 최소경우 : int[]

해결코드

import sys
si = sys.stdin.readline

pay = int(si())
m = 1000-pay

payback = [m//500,m%500//100,m%500%100//50,m%500%100%50//10,m%500%100%50%10//5,m%500%100%50%10%5]
print(sum(payback))

'Etc > PS' 카테고리의 다른 글

BOJ_2164 카드2 -Python3  (0) 2022.08.12
BOJ_2864 5와 6의 차이 -Python3  (0) 2022.08.11
BOJ_10162 전자레인지 -Python3  (0) 2022.08.11
BOJ_1120 문자열 -Python3  (0) 2022.08.10
BOJ_10819 차이를 최대로 -Python3  (0) 2022.08.10

+ Recent posts