✅ 다이내믹 프로그래밍이란?복잡한 문제를 더 작은 문제로 나눠서 풀고,그 결과를 저장해두어 같은 계산을 반복하지 않는 방법이에요.📦 핵심 개념 2가지중복되는 하위 문제 (Overlapping Subproblems)👉 같은 계산을 여러 번 반복하는 문제최적 부분 구조 (Optimal Substructure)👉 큰 문제의 최적해가 작은 문제들의 최적해로 구성되는 경우이 두 가지가 있을 때 다이내믹 프로그래밍이 쓸 수 있어요.🎯 예시로 쉽게 이해해보자 (피보나치 수열)피보나치 수열은 다음과 같이 정의돼요:f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) ❌ 나쁜 방법: 재귀만 쓰기 (중복 계산 많음)def fib(n): if n fib(5)를 계산하려면 fib(4)와 fib(..