[javascript] 탐욕 알고리즘

탐욕 알고리즘은 여러 가지 선택지 중에서 각 단계마다 가장 최선의 선택을 하는 알고리즘입니다. 이를 통해 전체적으로는 최적의 해를 찾을 수 있습니다.

탐욕 알고리즘의 예시

탐욕 알고리즘의 전형적인 예로는 거스름돈 계산이 있습니다. 만약에 우리가 420원을 거슬러 주어야 한다면 500원, 100원, 50원, 10원 동전 중에서 가장 큰 가치의 동전부터 차례대로 사용하여 거슬러 줄 수 있습니다. 이 때 탐욕 알고리즘을 이용하여 가장 적은 수의 동전을 사용할 수 있게 됩니다.

탐욕 알고리즘의 특징

탐욕 알고리즘은 매 순간마다의 최선의 선택을 하는 특성을 가지고 있기 때문에 단계마다의 최적해가 전체적으로도 최적해라는 보장이 없습니다. 따라서 문제에 따라서는 탐욕 알고리즘이 최적해를 보장하지 못할 수도 있습니다.

결론

탐욕 알고리즘은 간단하고 실행시간이 짧다는 장점이 있지만, 모든 문제에 적용할 수는 없다는 점을 유의해야 합니다. 복잡한 문제에 대해 최적의 해를 보장하지는 못하지만, 간단한 문제에 대해서는 매우 유용한 알고리즘입니다.

이상으로 탐욕 알고리즘에 대한 간단한 소개를 마치겠습니다.


참고 자료:

  1. https://ko.wikipedia.org/wiki/%ED%83%90%EB%9F%89_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
  2. https://namu.wiki/w/%ED%83%90%EB%9F%89%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98