DarkPepper_DevStory

Greedy Algorithm 이란? 본문

Algorithm/Greedy Algorithm

Greedy Algorithm 이란?

dark pepper 2023. 5. 3. 16:05

Greedy Algorithm이란?

Greedy Algorithm이란 최적화 문제를 해결하는 데 사용되는 알고리즘으로, 각 단계에서 가장 좋은 선택을 하며 전체적인 최적해를 찾는 방법이다.

간단히 말해 현재 상황에서 지금 당장 좋은것만 고르는 방법이다.

 

이 알고리즘은 매 단계에서 가장 최선의 선택을 하는 것으로 시작하여, 선택한 값이 다음 단계에서도 최선의 선택이 되는지 확인한다. 이 과정을 반복하여 최종적으로 전체적으로 최적의 결과를 찾는다.

 

예를 들어,
동전 거스름돈 문제를 해결하기 위해 사용할 수 있습니다. 동전의 종류가 주어졌을 때, 가장 적은 수의 동전을 사용하여 거스름돈을 줄 수 있는 방법을 찾는 문제입니다. Greedy 알고리즘은 이 문제에서 가장 큰 동전부터 차례대로 사용하여 거스름돈을 줄 수 있습니다. 이 경우, 각 단계에서 가장 큰 동전을 사용하는 것이 최적의 선택이기 때문에, 전체적으로 최적해를 찾을 수 있습니다.
Greedy 알고리즘은 매우 효율적이고 간단하지만, 항상 최적해를 보장하지는 않는다.
따라서 문제에 따라 적절한 알고리즘을 선택해야 합니다.

Greedy 알고리즘의 특징

  • 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다.
  • 그리디 해법은 그 정당성 분석이 중요하다
    • 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의해를 구할 수 있는지 검토해야한다.
  • 최적의 해를 보장할 수 없을 때가 많다.
  • greedy 방법으로 얻은 해가 최적의 해가 되는 상황에서 , 이를 추론할 수 있어야 풀리도록 출제된다.

'Algorithm > Greedy Algorithm' 카테고리의 다른 글

[이코테] Greedy Algorithm 문제 - 거스름돈  (0) 2023.05.03