Dynamic Programming과 Greedy Algorithm 다이나믹 프로그래밍(Dynamic Programming)과 그리디 알고리즘(Greedy Algorithm)은 모두 최적화 문제를 풀 때 사용하는 알고리즘 기법이다. (두 기법 모두 알고리즘 자체가 아닌, 알고리즘 기법-전략-인데, 왜 하나는 Programming이 붙고, 다른 하나는 Algorithm이 붙는 지.. 그 이유는 모르겠다..) 두 기법 모두 비슷한 문제를 풀 기 때문에 언뜻 보면 두 알고리즘의 차이가 애매모호할 수 있다. 오늘은 이 두 기법의 개념을 정리하여 차이점을 확실히 알아두려 한다. 개념 정리 부분은 NHN NEXT의 자료구조 및 알고리즘 과목 lecutre note를 참고하였다. Dynamic Programming ..