Greedy Algorithm
정의
- 어떤 것을 결정해야 하는 순간, 가장 좋다고 생각하는 것을 선택하면서 답 찾는 알고리즘
Dynamic Programming과 비교
DP : 어떤 상황에서 할수 있는 상황 모두 살펴보고 거기서 가장 좋은것 선택
Greedy : 할수 있는 선택 중에 제일 좋다고 생각되는 것 하나 선택해서 정답 찾아감
단점
- 그 때 그 때는 최적일 수 있지만, 최종적으로는 최적이 아니 수도
1 | ex) 12원을 1, 4, 5원으로 거슬러 줄 때, |
그럼 언제 쓰나
지금 이 순간 가장 좋은 경우 선택하는 것이 최적일 때.
왜 그게 최적인지 증명해야함
그래서 가장 어려워
그래서 시험이나 대회에 나오면 가장 나중에 풀어