본문/내용
1. 서론
서론 그리디 알고리즘은 매 순간 선택 시 최적의 선택을 하는 방식을 통해 문제를 해결하는 알고리즘이다. 이러한 방법은 문제 전체의 최적 해를 보장하지는 않지만, 계산 속도가 빠르고 간단한 구현이 가능하다는 점에서 많은 실무적 분야에서 활용되고 있다. 예를 들어, 동전 거스름돈 문제를 생각하면, 가장 큰 화폐 단위부터 차례로 사용하는 것이 그리디 알고리즘의 대표적인 사례이다. 2020년 기준 대한민국의 화폐 단위는 10,000원, 5,000원, 1,000원, 500원, 100원, 50원, 10원으로 구성되어 있으며, 만약 1,880원을 거슬러 줄 때 그리디 알고리즘은 1,000원 1장, 500원 1장, 100원 3장, 10원 3장으로 계산하여 최소 개수로 거슬러 줄 수 있다. 이러한 방식은 실제 금융 분야에서도 많이 사용되고 있으며, 만약 1,880원을 1,000원, 500원, 100원, 10원 화폐로 거슬러 줄 때 필요한 동전 수는 총 8개로, 가장 효율적인 방법이다. 그러나 일부 경우에서는 그리디 알고리즘이 최적의 해를 보장하지 못하는데, 대표적으로 배낭 문제(0-1 배낭 문제)가 있다. 이 문제의 경우, 무게 제한과 가치가 주어진 아이템들 중 최대로 가치가 되는 선택을 찾는 문제인데, …