다이내믹 프로그래밍은 아래 두가지 성질을 만족해야 한다.
1. overlapping subproblem
- (겹치는 부분 문제)
- 큰 문제와 작은 문제는 상대적이다.
- 큰 문제와 작은 문제를 같은 방법으로 풀 수 있음
- 문제를 작은 문제로 쪼갤 수 있다.
2. optimal substructure
- 문제의 정답을 작은 문제의 정답에서 구할 수 있다
How-to-solve
1. top-down
- 재귀(recursive)
2. bottom-up
- for문
예시
1. 피보나치
2. 1로 만들기
2번 문제 풀이
1.top-down(recursive)
2. bottom-up(반복문)
댓글 없음:
댓글 쓰기