[COS PRO 1급] 2차 문제7) 거스름돈 구하기

아현·2023년 9월 4일
0

Algorithm

목록 보기
382/400

연습문제


거스름돈 구하기


한국에는 다음과 같이 8가지 종류의 화폐가 있습니다.

동전 : 10원, 50원, 100원, 500원
지폐 : 1,000원, 5,000원, 10,000원, 50,000원

손님에게 거슬러줘야 하는 금액이 주어질 때, 거슬러주는 동전과 지폐 개수의 합이 최소가 되도록 하려고 합니다.
예를 들어 거슬러줘야 할 금액이 2,760원 이라면, 1,000원짜리 2장, 500원짜리 1개, 100원짜리 2개, 50원짜리 1개, 10원짜리 1개를 거슬러줄 때 동전과 지폐 개수의 합이 최소가 됩니다.
손님에게 거슬러줘야 하는 금액 money가 매개변수로 주어질 때, 거슬러 주는 동전과 지폐 개수합의 최솟값을 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요.

□ 매개변수 설명

손님에게 거슬러줘야 하는 금액 money가 solution 함수의 매개변수로 주어집니다.
money는 10 이상 100,000 이하의 자연수입니다.
money는 10의 배수로만 주어집니다.

□ return 값 설명

거슬러 주는 동전과 지폐 개수합의 최솟값을 return 해주세요.




# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
def solution(money):
	coin = [10, 50, 100, 500, 1000, 5000, 10000, 50000]
	counter = 0
	idx = len(coin) - 1
	while money:
		counter += money // coin[idx]
		money %= coin[idx]
		idx -= 1
	return counter
profile
Studying Computer Science

0개의 댓글