"다이나믹 프로그래밍"이란 한번에 계산한 문제는 다시 계산하지 않도록 하는 알고리즘 즉, 중복 계산하는 비효율적인 방법이 아닌, 한번만 계산하는 효율적인 알고리즘이 되겠다. 여기서 그러면 비효율적인 방법에 대한 대표적인 예시로 "피보나치 수열의 재귀함수" 방식을 보겠다. def fibo(x) : if x == 1 or x == 2 : return 1 return fibo(x-1) + fibo(x-2) 여기서 fibo(4)를 구한다고 보면 fibo(4) = [fibo(3) + fibo(2)] = [ [fibo(2) + fibo(1)] + [fibo(1) + fibo(0)] ] = [ [ [fibo(1) + fibo(0)] + fibo(1)] + [fibo(1) + fibo(0)] ] 즉, 같은연산이 중복된..