동적 계획법(Dynamic Programming, DP)
* 피보나치 예시를 가지고 작성동적 계획법 (Dynamic Programming, DP)큰 문제를 작은 문제로 나눠서, 중복 계산을 피하고 푸는 방법핵심: 이미 구한 값은 저장해서 재활용 DP(Memoization) ➡️ Top-down 방식보통 재귀 함수로 구현계산한 결과를 메모(저장)해두는 방법다음에 같은 입력이 들어오면 계산하지 않고 저장된 값을 반환구현 시 주로 재귀 + 배열(또는 Map)호출 흐름어떤 문제를 풀려고 함이미 풀었던 문제면 저장된 값 사용아니면 재귀 호출로 하위 문제를 계산 -> 결과 저장int[] memo = new int[100];int fib(int n) { if (n DP(Tabulation) ➡️ Bottom-up 방식작은 문제부터 차례대로 계산해서 큰 문제로 ..
2025.08.12