<aside> 💡 문제 해결과정에서 순간순간마다 최적이라고 생각되는 해를 선택하여, 최종 해답에 도달하는 문제 해결 방식

</aside>

최적해를 찾을 수 있으면 그것을 목표로 삼고, 찾기 어려운 경우 그런대로 괜찮은 해를 찾는 것을 목표

그리디 알고리즘이 잘 작동하는 문제들은 탐욕 선택 속성(앞의 선택이 이후 선택에 영향을 주지 않는 것)을 갖고 있는 최적 부분 구조 문제 - 그리디 알고리즘은 선택을 다시 고려 하지 않음

최적 부분 구조란 전체 문제의 최적 해결 방법이 부분 문제에 대한 최적 해결 방법으로 구성

  1. 탐욕적 선택 속성(greedy choice property)과 최적 부분 구조(optimal substructure)의 2가지 조건을 만족하면 최적해를 찾을 수 있다.

문제풀이 프로세스

  1. 문제의 답을 만드는 과정을 여러 조각으로 나눈다.
  2. 각 조각마다 어떤 우선순위로 선택할지 결정. (이에 대한 직관을 얻기 위해서 작은 입력을 몇 개 풀어봄)
  3. 두 가지 속성 증명 (greedy choice property, optimal substructure)