꾸준히 합시다
백준 파이썬 5585번: 거스름돈 본문
문제 유형: 그리디 알고리즘
# Solution 1
change = 1000 - int(input())
coins = [500, 100, 50, 10, 5, 1]
count = 0
for coin in coins:
count += change // coin
change %= coin # change = change % coin
print(count)
- 1000원에서 입력 값을 뺀 나머지를 change 변수에 저장한다.
- 잔돈을 큰 수부터 내림차순으로 정렬한 coins 배열을 만들어 준다. 큰 액수의 동전부터 거슬러주어야 최소한의 동전이 사용된다.
- 반복문을 돌면서 동전의 총 개수 count에 change를 coin으로 나눈 몫을 더해준다.
- change는 이전 단계의 나머지가 되고 그 나머지로 위의 과정을 반복한다.
- 마지막으로 count를 출력해준다.
'코딩 테스트 문제 풀이' 카테고리의 다른 글
백준 파이썬 2847번: 게임을 만든 동준이 (0) | 2021.03.19 |
---|---|
백준 파이썬 11047번: 동전 0 (0) | 2021.03.18 |
백준 파이썬 5532번: 방학 숙제 (0) | 2021.03.18 |
백준 파이썬 2875번: 대회 or 인턴 (0) | 2021.03.18 |
백준 파이썬 2455번: 지능형 기차 (0) | 2021.03.17 |
Comments