본문/내용
1. 그리디 알고리즘 개요
그리디 알고리즘은 현재 상황에서 가장 최선의 선택을 반복하여 전체 문제의 최적 해를 찾아내는 알고리즘이다. 이 알고리즘은 매 단계마다 가장 좋아 보이는 선택을 하며, 이후에 전체 문제에 영향을 미치는 결정 역시 동일한 방식으로 수행한다. 그리디 방법은 구현이 간단하고 빠른 시간 내에 해결책을 찾을 수 있기 때문에 많은 분야에서 널리 활용되고 있다. 예를 들어, 화폐 교환 문제에서 주어진 금액을 최소의 동전 개수로 교환하는 경우를 생각해보자. 미국 화폐 시스템에서는 1달러(100센트), 50센트, 25센트, 10센트, 5센트, 1센트 동전을 사용했을 때, 만약 93센트를 교환하려면 그리디 알고리즘은 먼저 가장 큰 가치의 동전부터 차례로 선택한다. 즉, 50센트 1개, 25센트 1개, 10센트 1개, 5센트 1개, 1센트 3개로 총 7개가 된다. 이 방법은 매우 빠르며, 화폐 교환의 효율을 높여줄 수 있다. 또한, 그리디 알고리즘은 최적해를 보장하는 경우와 보장하지 않는 경우가 있다. 대표적으로 활동 선정 문제(activity selection problem)는 이를 명확하게 보여주는 사례다. 여기서 여러 활동 중 가장 먼저 시작하는 활동을 선택하는 전략…