
target 까지의 수 순회nums의 요소를 하나씩 살펴보며, target - num의 이전 수의 조합 경우의 수를 통해 현재 수의 조합 가능한 경우의 수 계산target을 구성할 수 있는 조합의 수 반환function combinationSum4(nums: number[], target: number): number {
const dp = new Array(target + 1).fill(0)
dp[0] = 1
for(let i = 1; i <= target; i++) {
for(const num of nums) {
if(i < num) continue
dp[i] += dp[i - num]
}
}
return dp[target]
};