다이나믹 프로그래밍은 한 문제를 풀 때 반복적으로 계산되는 불필요한 과정을 방지하기 위해 한문제당 한번만 계산하여 문제를 푸는 방식을 말한다. 방식은 "메모이제이션"이라는 값을 저장하는 방법을 사용하는데, 다이나믹 프로그래밍의 대표적인 예는 '피보나치 수열'이 있다.public class DynamicProgramming { public static int dp(int x){ if(x == 1) return 1; if(x == 2) return 1; return dp(x-1) + dp(x-2); } public static void main(String[] args) { System.out.println(dp(10)); }}10을 넣..