그리디(Greedy) 알고리즘은 지금 이 순간, 지금 당장, 최적의 답을 찾는 방법이라고 한다. 지금 당장에서는 최적의 방법이지만 나중과 종합적으로 봤을 때는 최적이 아닐 수 있다. 욕심쟁이 알고리즘, 탐욕법 등의 이름으로 불린다. 그리디 알고리즘으로 풀어야하는 대표적인 문제 유형으로는 거스름돈 활동 선택 문제 최소 신장 트리 등등의 유형들이 있다. 거스름돈 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다. 거스름돈 유형에서는 가장 큰 화폐 단위부터 돈을 거슬러 주는 ..