동적계획법(DP, Dynamic Programming)
동적계획법(DP, Dynamic Programming) 이란? 동적 계획법(動的計劃法, dynamic programming)이란 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게 해결할 수 있다. 저장 공간이 계속 필요한 대신 시간복잡도는 O(n)을 가진다. (출처 : 위키백과) 접근 f(a, b) = f(a-1, b) + f(a, b-1) (a, b >= 1 ) f(0,0) = 1, 임의의 자연수 n에 대해 f(n,0) = f(0, n) = 1 위와 같이 정의된 함수에서 주어진 임의의 a,b에 대해 f(a, b)의 값을 효율적으로 구하고자 할 때 동적 계획법을 적용시킬 수 있다..