동적 계획법(Dynamic Programming)동적 계획법은 프로그래밍 대회 문제에 가장 자주 출현하는 디자인 패러다임이다. 이름만 가지고는 무엇을 의미하는지 알기가 어렵기 때문에 많은 오해를 불러일으키는 주제이기도 한다. 동적 계획법(Dynamic Programming)이란 말은 최적화 문제를 연구하는 수학 이론에서 왔다. 여기서 'Dynamic'은 전산학에서 일반적으로 사용하는 동적의 의미와는 아무 관련이 없다. 동적 계획법의 고안자 벨만은 Dynamic이라는 단어가 멋있어서 선택했다고 한다. 'Programming'이란 말은 최적화 연구분야에서 최적의 프로그램을 찾아낸다는 의미로 사용된다. 동적 계획법은 주어진 문제를 더 작은 부분 문제(subproblem)로 분할하여 해결한 뒤, 그 결과들을 통..