다이나믹 프로그래밍(Dynamic Programming)은 동적 계획법이라고도 하며, 메모리 공간을 약간 더 사용함으로써 연산 속도를 비약적으로 줄일 수 있는 방법이다. 다이나믹 프로그래밍으로 해결할 수 있는 대표적인 예시로 피보나치 수열이 있다. 피보나치 수열은 이전 두 항의 합을 현재의 항으로 설정하는 특징이 있는 수열이다. 피보나치 수열의 점화식은 다음과 같이 표현할 수 있다. 결과적으로 첫 번째 항과 두 번째 항의 값이 모두 1이기 때문에 최종적으로 피보나치 수열을 나타낼 때에는 다음과 같이 정의할 수 있다.이를 해석하면 다음과 같다. n번째 피보나치 수=(n-1)번째 피보나치 수 + (n-2)번쨰 피보나치 수단, 1번째 피보나치 수 = 1, 2번째 피보나치 수 = 1프로그래밍에서는 이러한 수..