그리디 알고리즘(탐욕법) - 개요

2021. 2. 15. 10:30Front-end/알고리즘

728x90
반응형

그리디 알고리즘

  • 그리디 알고리즘(탐욕법): 현재 상황에서 지금 당장 좋은 것만 고르는 방법
  • 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다.
  • 그리디 해법은 그 정당성 분석이 중요하다
    • 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토한다

 

  • 5->7->9로 이동하면 합이 21로 가장 크다.
  • 단순히 매 상황에서 가장 큰 값만 고른다면 어떻게 될까요?
    • 5->7, 10, 8 중에서 가장 큰 값인 10을 고른다 -> 4,3 중에서 4를 고른다
    • 이 경우 5->10->4 = 합 19라서 최적의 해가 아님
    • 그리디 알고리즘은 이처럼 단순한 매 상황에서 가장 큰 값만 고르는 방식이라 할 수 있음

 

  • 일반적인 상황에서 그리디 알고리즘은 최적의 해를 보장할 수 없을 때가 많다.
  • 하지만 코딩 테스트의 대부분의 그리디 문제는 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 풀리도록 출제된다. (미리 그리디로 풀 수 있는게 최적의 해가 되도록 문제를 만들었다는 말임)
728x90
반응형