오늘의 손코딩 - 150916
2015-09-16
interested in people & mathmatics.
NHN NEXT 2015년 2학기 Web Programming 수업 중 외부 특강이 있었다. 지난 8월 25일 화요일엔, 네이버 Labs에서 yobi 시스템을 개발하신 채수원 님께 클린코드 강의를 들었다. 다음은 들으면서 내가 정리한 것들이다.
다이나믹 프로그래밍(Dynamic Programming)과 그리디 알고리즘(Greedy Algorithm)은 모두 최적화 문제를 풀 때 사용하는 알고리즘 기법이다. (두 기법 모두 알고리즘 자체는 아니고, 알고리즘을 짜기 위한 기법(or 전략)인데, 왜 하나는 Programming이 붙고, 다른 하나는 Algorithm이 붙을까? 그 이유는 모르겠다) 두 기법은 모두 비슷한 문제를 푸는데 사용되기 때문에 언뜻 보면 두 개의 차이가 애매모호할 수 있다. 오늘은 이 두 기법의 개념을 정리하여 차이점을 확실히 알아두려 한다. 개념 정리 부분은 NHN NEXT의 자료구조 및 알고리즘 과목 lecture note를 참고하였다.