동적 계획법(Dynamic Programming)
동적 계획법 동적 계획법은 부분 문제로 분해할 수 있는 최적화, 탐색, 계산 문제를 해결하기 위한 일반적인 방법을 말한다. 동적 계획법은 작은 문제 여러 개를 합쳐서 큰 문제를 풀 수 있다. 이 때, 동일한 하위 문제가 반복해서 발생할 수 있다. 따라서 동적 계획법을 효율적으로 작성하려면 반복해서 발생하는 하위 문제의 결괏값을 캐싱해 두어야 한다. 동적 계획법의 기본 개념을 익히기 위해 피보나치 수열이 자주 사용된다. 피보나치 수열 피보나치 수열은 0, 1로 시작하고 그 다음 숫자부터는 이전 두 숫자의 합이다. 따라서 0, 1, 1, 2, 3, 5, 8, ...이 된다. 수학적으로 표현하면 다음과 같다. F(0) = 0 F(1) = 1 F(n) = F(n-1) + F(n-2) 코드로 표현하면 다음과 같다..
2023. 2. 6.