1. Dynamic Programming큰 문제를 작은 문제로 나누어 풀되, 작은 문제의 결과를 저장해두고 재사용하는 알고리즘나중에 같은 부분 문제를 계산하지 않도록 합니다 조건조건명정의의미/핵심 포인트Overlapping Subproblems전체 문제를 나누면 동일한 서브문제가 반복해서 등장같은 계산을 반복하지 않도록 Memoization하여 재사용Optimal Substructure전체 문제의 최적 해가 부분 문제들의 최적 해로 구성됨부분 문제와 전체 문제 사이에 점화식 존재✅ 작은 문제 해결➡️ 이를 조합해 큰 문제 해결 예시) Overlapping Subproblems더보기피보나치 수열F(5)를 구하려면 F(4), F(3)이 필요F(4)를 구하려면 F(3), F(2)가 필요 예시) Optimal ..