Algorithms
백준 5585
Django King, Lee
2022. 3. 28. 22:31
728x90
✔️문제
https://www.acmicpc.net/problem/5585
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
✔️풀이
#1000 - input한 금액의 최소개수
n = int(input())
n = 1000 - n
a = 0
while n>0:
if n>=500:
a+=n//500
n = n%500
if n>=100:
a+=n//100
n = n%100
if n>=50:
a+=n//50
n = n%50
if n>=10:
a+=n//10
n = n%10
if n>=5:
a+=n//5
n = n%5
if n>=1:
a+=n//1
n = n%1
print(a)
잔돈을 구하는 것이므로 구해야 할 금액은 1000-n이 됩니다.
그리고 몫과 나머지를 이용해 풀면 됩니다.
엔화가 500, 100, 50, 10, 5, 1 이렇게 있으므로 경우에 맞게 조건문을 걸어줍니다.
그리고 개수는 결국 몫을 의미하니 몫만큼 더해주고 남은 n원은 n을 각 금액으로 나눈 나머지가 됩니다.