다이나믹 프로그래밍 한 번 해결된 부분 문제의 정답을 메모리에 기록하여, 한 번 계산된 답은 다시 계산하지 않도록 하는 알고리즘 점화식(인접한 항들 사이의 관계식) 이용 메모리 공간을 약간 더 사용하여 연산 속도 증가 사용 조건 큰 문제를 작은 문제로 나눌 수 있을 때 작은 문제에서 구한 정답은 그것을 포함하는 큰 문제에서도 동일할 때 코드 작성법 탑다운(Top-Down) 재귀 함수 이용 큰 문제를 해결하기 위해 작은 문제 호출 보텀업(Bottom-Up) 단순 반복문 이용 작은 문제 먼저 해결, 해결된 작은 문제를 모아 큰 문제 해결 권장하는 방법 예제 - 피보나치 수열 한 번 계산한 i번째 피보나치 수를 모두 1차원 리스트에 저장 풀이 1: 재귀 함수로 구현 시간 복잡도 O(2^N) ⇒ n이 커지면 수..