DarkPepper_DevStory

[이코테] Greedy Algorithm 문제 - 거스름돈 본문

Algorithm/Greedy Algorithm

[이코테] Greedy Algorithm 문제 - 거스름돈

dark pepper 2023. 5. 3. 16:19

문제

당신은 음식점의 계산을 도와주는 점원입니다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한이 존재한다고 가정합니다. 손님에게 거슬러 주어야 할 돈이 N원일 때 거슬러 주어야 할 동전의 최소 개수를 구하세요. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수입니다.

입력조건

1260

출력조건

6

문제 해결 아이디어

큰 단위의 화폐부터 차례대로 '//' 연산을 수행하여 거슬러 줄 수 있는 동전의 개수를 합하여 출력한다.


풀이

n = 1260
count

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

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

print(count)

메모

 '/'와 '//'의 차이

  • '/' 는 결과를 float로 처리
  • '//'는 결과를 int로 처리

 

'Algorithm > Greedy Algorithm' 카테고리의 다른 글

Greedy Algorithm 이란?  (0) 2023.05.03