내가 가장 흥미있는 분야인 알고리즘!!!... 이라기엔 너무 못한다 ㅠㅠ
지금까지 배운 내용을 복습할 겸, 앞으로 각 알고리즘에 대한 간략한 설명과 예시 문제 하나정도를
풀이해 볼 예정이다.
이름 그대로 해석하자면, "탐욕적인 접근" 이다. 대표적인 예시를 떠올려보자면,
거스름돈 문제가 있을 수 있다.

그리디 알고리즘의 대표적인 예시인 거스름돈 문제
위 의 예시대로, 거스름돈을 주려는데 가장 적은 동전의 수를 구하고자 한다.
가장 큰 금액의 동전이 많을 수록 동전의 갯수는 줄어들 것이다
1000-380 = 620 이고 이는 ( 500 + 100 + 10 + 10) 이다.
가장 금액이 큰 거스름돈을 매 순간 선택해주고있다.
간단하지 않은가?
간단한 만큼 문제 또한 많다. 예를 들어, 최소 거리를 구하는 그래프 문제의 경우이다.

A에서 B로 가는 최단 거리를 구하고자 하였을때, Greedy 알고리즘에 따르면
C를 선택할 것이다. A에서의 입장에서 보면 최선의 선택이지만, 결국 최종적으로
최종 거리는 늘어나는 결과를 맞게 된다.
그럼에도 불구하고, 다른 어떠한 수단도 존재하지 않는다면 Greedy를 따르는 것이
유리할 확률이 높다.
컴퓨터는 인간처럼 높은차원에서 사고할 수 없다.
쉽게 생각해서, 컴퓨터의 연산은 사람이 미궁 안에서 헤매는 것과 비슷하다. 높은 곳에서
미궁을 바라보면 쉽게 나가는 길을 알 수 있지만 미궁 안에 갇혀있다면 쉽게 길을 알 수 없다. 컴퓨터란 그런 존재인 것이다.