알고리즘 공부 #1

leejm·2021년 4월 18일
0

그리디 알고리즘

그리디 알고리즘이란 현재 상황에서 당장 가장 좋은 것만을 고르는 방법이다.
탐욕법이라고도 한다.
현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않으며 최소한의 창의력을 요구하는 알고리즘이라고 할 수 있다.

예시 문제 : 거스름돈

본인이 카운터의 점원이라고 한다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다.

n = int(input())
count = 0    #동전의 갯수

# 큰 단위부터 순차적 확인
coins = [500, 100, 50, 10]

# 거슬러 줄 동전의 개수 세기
for coin in coins:
    count += n // coin 
    n %= coin

print(count)
profile
Python Based Backend Engineer입니다. DevOps와 효율적으로 일하는 것에 관심이 있습니다.

0개의 댓글

관련 채용 정보