모든 알고리즘 문제들은 완전탐색을 이용해도 정답 도출이 가능하지만 비효율적인 연산과 시간을 생략하고 답을 효율적으로 도출하기 위해 여러 알고리즘을 사용한다. 동적계획법 복잡한 문제를 여러 개의 간단한 문제로 분리하여 부분의 문제들을 해결함으로써, 최종적으로 복잡한 문제의 답을 구하는 방법이다. 핵심이론 원리와 구현 방식 큰 문제를 작은(부분) 문제로 나눌 수 있어야 함 작은(부분) 문제들이 반복돼 나타나고 사용되며 그들의 결괏값은 항상 같아야함 모든 작은(부분) 문제들은 한번만 계산해 DP 테이블에 저장하며 추후 재사용할 때는 이 DP테이블을 이용 이를 메모이제이션 이라고 함(시간복잡도 측면에서 유리) DP는 탑-다운, 바텀-업 방식으로 구현가능함 대표문제 피보나치수열 D[N] = D[N-1] + D[N..