큰 문제를 작은 문제로 나누어 푸는 방법은 두가지 이다.
분할정복 : 중복이 허용되지 않는다.
다이나믹 프로그램 : 큰 문제가 작은 문제로 나누어 졌을 때 작은 문제들의 중복이 허용이 된다.
참고자료 : https://lee-seul.github.io/algorithm/2017/03/16/dynamic-programming.html