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

Minsuk Jang·2021년 3월 10일
0

프로그래머스

목록 보기
4/48

문제 링크

1. 문제 해결


제한사항

  • 주어지는 숫자의 개수는 2개 이상 20개 이하입니다.
  • 각 숫자는 1 이상 50 이하인 자연수입니다.
  • 타겟 넘버는 1 이상 1000 이하인 자연수입니다.

제한사항을 보면 숫자의 개수가 작기 때문에 재귀 호출 방식으로 진행하면 된다.

2. 소스 코드

class Solution {
    public int solution(int[] numbers, int target) {
        return recursive(0,numbers,0,target);
    }
    
    private static int recursive(int idx,int [] numbers, int val, int target){
        if(idx == numbers.length){
            if(val == target)
                return 1;
            
            return 0;
        }
        
        int ret =0 ;
        //뺄샘
        ret = recursive(idx+1,numbers,val-numbers[idx],target);
        ret += recursive(idx+1,numbers,val+numbers[idx],target);
        
        return ret;
    }
}
profile
Positive Thinking

0개의 댓글