dynamic programming1 [알고리즘] 동적계획법 DP (Dynamic Programming) 동적 계획법(Dynamic Programming, DP) - 큰 문제를 작은 문제로 나누어서 푸는 방식의 알고리즘. - 처음 문제를 더 작은 문제로 나누고 결과를 알아내어 저장함. 이것들을 이용해 원래 답을 계산함. 성립 조건 1. 최적 부분 구조(Optimal Substructure) - 상위 문제를 하위 문제로 나누어 하위 문제의 답으로 상위 문제 해결 가능. 2. 중복되는 부분 문제(Overlapping Subproblem) - 문제를 여러 개의 부분 문제로 쪼갤 수 있음. ex) 피보나치 수열: 0 1 1 2 3 5 8 13 21 34 55 89 ... F0 = 0 F1 = 1 Fn = Fn-1 + Fn-2 (n ≥ 2) 큰 문제는 작은 문제 통해 해결할 수 있음. n번째 피보나치 수 = n - .. 2024. 3. 26. 이전 1 다음