[알고리즘] Dynamic Programming
개요 최적화 이론의 한 기술이며, 특정 범위까지의 값을 구하기 위해서 그것과 다른 범위까지의 값을 이용하여 효율적으로 값을 구하는 알고리즘 설계 기법입니다. 즉 작은 문제를 해결한 후, 해결한 작은 문제의 해답을 활용하여 주어진 문제들을 풀어 최적화하여 풀면 설명 주어진 문제를 풀기 위해서, 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것입니다. 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게 해결할 수 있습니다. 이러한 방법으로 동적 계획법은 계산 횟수를 줄일 수 있습니다. 특히 이 방법은 하위 문제의 수가 기하급수적으로 증가할 때 유용합니다. Dynamic Programmin..