😎풀이

  1. dp 생성
    1-1. dp[i]는 i로 구성된 숫자를 만들기 위해 필요한 조합의 수를 의미
  2. 1부터 target 까지의 수 순회
    2-1. nums의 요소를 하나씩 살펴보며, target - num의 이전 수의 조합 경우의 수를 통해 현재 수의 조합 가능한 경우의 수 계산
  3. 최종적으로 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]
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글