HWI's Devlog
article thumbnail
그리디 알고리즘 (Greedy Algorithm, 탐욕법)
Dev/Algorithms 2022. 12. 26. 16:20

💡 그리디 알고리즘 (Greedy Algorithm) 이란? 그리디 알고리즘은 어떤 문제를 '탐욕적'으로 푸는 알고리즘입니다. 여기서 '탐욕적'이라는 말은 '현재 상황에서 지금 당장 좋은 것만 고르는 방법'을 의미합니다. 즉, 선택을 해야 할 때마다 당장 눈앞에 놓인 최적의 상황만을 선택하여 해답에 도달하는 방법입니다. 최적의 상황에 대한 기준이 필요하므로, 그리디 알고리즘으로 풀 수 있는 문제들은 '가장 큰 순서대로', '가장 작은 순서대로 '같은 기준을 알게 모르게 제시해 줍니다. 대체로 이 기준은 정렬 알고리즘을 사용했을 때 만족시킬 수 있습니다. 순간마다 하는 최선의 선택이 늘 최선의 결과를 보장해주지는 않습니다. 아래의 예시 그림에서, 선택지들을 합한 가장 큰 수를 찾는다고 가정해보겠습니다. 이..