🔔 문제

출처 : https://www.acmicpc.net/problem/5585

image


🔐 해결 (소스 코드)

price = 1000 - int(input())
# 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구해야하니까 1000을 빼줌
count = 0

# 큰 단위의 화폐부터 차례대로 확인
coin_types = [500, 100, 50, 10, 5, 1]

for coin in coin_types:
    count += price // coin # 해당 화폐로 거슬러 줄 수 있는 동전의 개수 세기
    price %= coin

print(count)

📝 후기

그리디 알고리즘, 탐욕법이라고 처음 들었을 때는 코드 구현하는게 되게 어렵다고 느껴졌었다.

요즘은 플레이데이터 알고리즘 특강 들었던 것을 다시 차근차근 정리하면서 ‘동빈나’ 라는 유튜버의 코딩 테스트 대비서를 구입해서 함께 보면서 공부하고 있다.
이 문제를 푸는데 그 코딩 테스트 대비서 책에서 도움을 많이 얻었다.

이런식으로 계속 공부하고 문제 풀어보면서 코테 문제에 대해 많이 익숙해지고, 성장할 수 있을 것 같다. 또 그러기를 바란다. 🙏


👣 참고하기

그리디 알고리즘 강의 정리노트 보기

맨 위로 이동하기

Leave a comment