동적 계획법은 복잡한 문제를 여러 개의 간단한 문제로 분리하여 부분의 문제를 해결함으로써 최종적으로 복잡한 문제의 답을 구하는 방법을 말한다. 🔰특징 큰 문제를 작은 문제로 나눌 수 있어야 한다. 작은 문제들이 반복적으로 나타나고 사용되며, 작은 문제의 결과값은 변하지 않아야 한다. 모든 작은 문제를 한 번만 계산해 dp 테이블에 저장하여 재사용한다. 이를 memoization이라 한다. 탑-다운 방식과 바텀-업 방식으로 구현할 수 있다. 🔰접근 방법 피보나치 수열에서 6번째 수를 구하는 문제가 있다고 가정하자. 동적 계획법으로 풀 수 있는지 확인한다. 6번째 수는 5번째 피보나치 수와 4번째 피보나치 수의 합이다. 따라서 5번째 수를 구하는 문제와, 4번째 수를 구하는 작은 문제로 나눌 수 있고, 그 ..