[백준] 2225. 합분해 / 골드5Dynamic Programming시간복잡도 : O(NK) def f(): N, K = map(int, input().split()) dp = [[0] * (N + 1) for _ in range(K + 1)] dp[0][0] = 1 # DP 계산 for k in range(1, K + 1): dp[k][0] = 1 for n in range(1, N + 1): dp[k][n] = (dp[k][n-1] + dp[k-1][n]) % 1000000000 print(dp[K][N])f() 풀이 방식dp 배열을 (K+1) X (N+1) 크기로 초기화한다.dp[k][n] : k 개의 수를 사용하여..