[백준 2225 : JAVA] 합분해 / DP
2021.04.08
문제 풀이 DP의 핵심 중 하나는 초깃값 설정이다. 해당 문제는 0~N까지의 수열에서 K개의 정수를 선택해 N을 만드는 경우의 수니까 K=1일 경우부터 가정하여 생각해보자. 1개의 수를 선택해 N을 만드는 경우의 수는 무조건 1개이다. (N이라는 수 하나를 선택해야 N을 만들 수 있다.) K=2일 경우를 생각해보자. (N=6 이라 가정) N=6 이라고 가정하면, [0, 1, 2, 3, 4, 5, 6] 이라는 수열에서 2개의 정수를 선택해 6을 만들기 위한 방법은 아래와 같은 규칙을 가진다. [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] [0, 1, 2, 3, 4, 5, 6] 문제에서 (0, 6)을 선택하는 경우와 (6, 0)을 선택하..