동적 프로그래밍(Dynamic Programming)이란?
코딩무비
동적 프로그래밍(Dynamic Programming) 주어진 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 해결하는 알고리즘 특징 메모리 공간을 약간 더 사용하여 연삭 속도를 비약적으로 증가 하위문제들의 수가 기하급수적으로 늘어날 경우 유리한 알고리즘 문제조건 큰 문제를 작은 문제로 나눌 수 있다. 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일하다. 메모라이제이션(Memorization)을 사용하여 작은 문제에서 구한 정답을 저장 동적 프로그래밍 vs 분할 정복 공통점 문제를 잘게 쪼게어 작은 단위로 분할 차이점 동적 프로그래밍 SubProblem는 중복되어 상위 문제 해결시 사용 Memorization 사용 상향식 접근(bottom up) 분할 정..