[프로그래머스] 타겟 넘버 - JavaScript

이수동·2022년 1월 2일
0
post-thumbnail

프로그래머스 Level 2 - 타겟 넘버


📌 문제 설명


📌 생각한 풀이 방법

  1. 값을 더하거나 빼는 recursive한 함수를 활용한다.
  2. 모든 경우의 수를 도는 중에 target과 같은 경우 answer을 증가시킨다.

📌 풀이

function solution(numbers, target) {
  let answer = 0;

  dfs(0, 0);

  function dfs(index, sum) {
    if (index === numbers.length) {
      if (sum === target) {
        // 모든 경우의 수를 도는 중에 target과 같은 경우 answer을 증가시킨다.
        answer++;
      }
      return;
    }

    // 값을 더하거나 빼는 recursive한 함수를 활용한다.
    dfs(index + 1, sum + numbers[index]);
    dfs(index + 1, sum - numbers[index]);
  }

  return answer;
}
profile
기록을 통한 성장하기 🧐

0개의 댓글