- 다음 두가지 조건을 만족하면 DP로 접근
1) 겹치는 부분 문제( overlapping subproblem )
2) 최적 부분 구조( optimal substructure )
- 같은 문제를 구할 때마다 정답은 같이 때문에 각 문제를 한 번만 풀어야 함
- 따라서 정답을 한 번 구하게 되면 배열에 저장하여 다시 쓰도록 함 -> 메모이제이션
cf. 템플릿 메타 프로그래밍과 비슷함 (템플릿 메타 프로그래밍은 컴파일 타이밍에 미리 만들어져서 알아서 쓰게 됨
'programing > Algorithm' 카테고리의 다른 글
그리디 메소드 ( Greedy Method ) (0) | 2017.03.10 |
---|---|
백 트래킹 (back tracking) (0) | 2017.03.10 |
네트워크 연결된 차 위치 정렬 (0) | 2016.12.06 |
움직이는 오브젝트의 순서 정하고 추월 체크 하기 (0) | 2016.12.01 |
허프만 코드 (0) | 2015.06.05 |