문제
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
- 잔돈에는 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있다.
- 언제나 거스름돈 개수는 최소한의 잔돈으로 받는다.
- 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈의 개수를 구하는 문제이다.
- 타로가 지불할 돈은 1이상 1000미만의 정수이다.
알고리즘
- 문제는 매 상황에서 항상 최선의 선택만 하는 문제로, 그리디 알고리즘 문제라고 볼 수 있다.
- 타로가 지불할 돈을 입력한다.
- 타로가 낸 1000엔에서 지불할 돈을 빼준다.
- 타로에게 줄 거스름돈 개수를 최소한의 잔돈으로 준다.
코드
n = int(input())
array =[500,100,50,10,5,1]
i = 1000-n
count =0
for j in array:
count += i // j
i%=j
if i==0:
break
print(count)
github
junjange/CodingTest
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1946번(파이썬): 신입 사원 (0) | 2021.05.22 |
---|---|
[baekjoon] 백준 2437번(파이썬): 저울 (0) | 2021.05.21 |
[baekjoon] 백준 2839번(파이썬): 설탕 배달 (0) | 2021.05.20 |
[baekjoon] 백준 4796번(파이썬): 캠핑 (0) | 2021.05.20 |
[baekjoon] 백준 1541번(파이썬): 잃어버린 괄호 (0) | 2021.05.18 |