Algorithm/Basic
[알고리즘] 동적 계획법 (Dynamic Programming)
cherishee
2019. 9. 24. 16:18
동적 계획법이란?
- 큰 문제를 작게 최소화해서 푸는 알고리즘이다.
- 부분 문제를 해결한 결과를 이용하여 전체 문제를 해결한다.
- 시간 복잡도를 줄이기 위해 공간을 늘린다.
- 즉, DP는 이전 정보를 가지고 있어서 공간을 많이 사용한다.
풀이 순서
1. 구하고자 하는 큰 문제에서 작은 부분 문제를 정의한다.
2. 가장 작은 부분 문제부터 풀어 문제에 대한 점화식을 구한다.
- 가장 작은 부분 문제의 답을 저장한다.
- 부분 문제들의 해를 이용하여 차례로 더 큰 상위 문제의 답을 구한다.
3. 문제를 해결한다.
주의할 점
- 초기화