동적 계획법(Dynamic Programming) 하나의 큰 문제를 해결하기 위해, 큰 문제를 작은 문제들로 나누어 부분적으로 해결한 후 그로부터 파생된 값인 해를 이용하여 최종적으로 전체 문제를 해결하는 방식의 알고리즘 상향식 접근법 : 가장 최하위 문제의 해답을 구한 후, 이를 이용하여 상위 문제를 풀어나가는 방식 메모이제이션(Memoization)기법 : 프로그램 실행 시 이전에 계산한 값을 저장하여 동일한 연산/계산에 대해서 다시 수행하지 않도록 하여 전체 실행 속도를 빠르게 하는 기술. 메모이제이션 기법을 사용하는 이유는 문제를 쪼개어 최하위 문제를 상향식 접근법으로 풀게 되면 중복되는 부분이 발생하기 때문이다. 분할 정복(Divide and Conquer) 문제를 나눌 수 없을 때까지 나누어서..