동적 계획법이란?

동적 계획법의 구현 단계

  1. 문제를 하위 문제로 쪼갠다.
  2. 하위 문제를 재귀적으로 해결한다.
  3. 결과를 저장한다. → 메모이제이션
  4. 저장된 결과를 이용하여 큰 문제를 해결한다.

동적 계획법의 메모이제이션

  1. 입력 값에 대한 결과 값을 저장할 메모이제이션 테이블을 초기화한다.
  2. 함수를 호출할 때, 먼저 메모이제이션 테이블에서 해당 입력값의 결과값이 이미 저장되어 있는지 확인한다.
  3. 저장되어 있으면 해당 결과값을 반환하고, 저장되어 있지 않으면 계산을 수행하고 그 결과를 메모이제이션 테이블에 저장한다.