최대 1 분 소요

📣 학습한 내용을 정리한 글입니다.

Greedy Algorithm 문제입니다. 문제에 대한 내용과 풀이 그리고 결과를 간단하게 작성하였으니 참고바랍니다.
풀이 언어 : Python

문제 설명



내용

음식점에서 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정하자.
손님에게 거슬러주어야 할 돈이 N원일 때 거슬러주어야 할 동전의 최소의 개수는?
(단, 거슬러 주어야 할 돈 N은 항상 10의 배수이다.)


입력

N원을 입력받는다.(N은 0보다 큰 10의 배수)


출력

동전의 최소 개수가 출력된다.



문제 풀이


Greedy Algorithm 참고내용

  • 일반적인 상황에서 Greedy Algorithm은 최적의 해를 보장할 수 없을 때가 많다.
  • 하지만 Coding Test에선 일반적으로 Greedy Algorithm문제에서 이를 사용해 얻은 해가 최적의 해가 되는 경우가 많다.
    위 참고사항을 준수하며, 풀어보자.
  • 가장 큰 화폐 단위부터 돈을 거슬러줄 수 있을 만큼 거슬러주면 된다.
    N원은 10의 배수이기에 가지고 있는 동전 단위의 가장 큰 화폐 부터 최대 개수로 거슬러 주면 동전의 최소의 개수가 나온다.



작성 코드

Python




참고 : ‘동빈나’님의 (이코테 2021 강의 몰아보기) 2. 그리디 & 구현 영상


댓글남기기