탐욕(Greedy) 알고리즘
그리디 알고리즘은 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘이다.
그리디 알고리즘 유의사항
각 과정에서의 선택지를 통해 해답을 만들었다고 해서, 그것이 항상 최적이라는 보장이 없다. 따라서 코딩 테스트 문제에서 그리디 알고리즘으로 풀이할 수 있는 문제인지를 파악하고 적용하는게 중요하다.
그리디 알고리즘 수행 과정
- 해 선택 : 현재 상태에서 가장 최선이라고 생각되는 해를 선택한다.
- 적절성 검사 : 현재 선택한 해가 전체 문제의 제약 조건에 벗어나지 않는지 검사한다.
- 해 검사 : 현재까지 선택한 해 집합이 전체 문제를 해결할 수 있는지 검사한다. 전체 문제를 해결하지 못한다면 1로 돌아가 같은 과정을 반복한다.