![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcxRcHF%2FbtrDU2FTcgB%2F5kwBGE1LBgLniPWKTAw2nk%2Fimg.png)
DP 개요 DP, 다이나믹 프로그래밍은 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 문제해결에 패러다임으로 볼 수 있습니다. 큰 문제를 작은 문제로 나누어서 그 답을 저장해두고 재활용한다. 사용이유 DP는 일반적인 재귀(Navie Recursion) 방법과 유사합니다. 하지만 일반적인 재귀를 사용할 시 동일한 작은 문제들이 여러 번 반복되어 비효율적인 계산이 될 수 있습니다. 피보나치 수열을 예시로 들겠습니다. 피보나치의 재귀 함수는 아래와 같습니다. return f(n) = f(n-1) + f(n-2) f(n)을 구하기 위해서 f(n-1)에서 한 번 구한 값들을 f(n-2)에서 같은 과정을 반..