class Solution {
public int solution(int[] numbers, int target) {
return new NumberOfCases(numbers, target).calc();
}
}
class NumberOfCases {
private final int[] numbers;
private final int target;
public NumberOfCases(int[] numbers, int target) {
this.numbers = numbers;
this.target = target;
}
int calc() {
return calc(0, 0);
}
private int calc(int depth, int sum) {
if (depth == numbers.length) return sum == target ? 1 : 0;
return calc(depth + 1, sum + numbers[depth])
+ calc(depth + 1, sum - numbers[depth]);
}
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] 배열의 원소만큼 추가하기 (0) | 2023.05.12 |
---|---|
[프로그래머스/자바] 튜플 (0) | 2023.05.12 |
[프로그래머스/자바] 순위 검색 (0) | 2023.05.10 |
[프로그래머스/자바] 특정한 문자를 대문자로 바꾸기 (0) | 2023.05.09 |
[프로그래머스/자바] 대문자와 소문자 (0) | 2023.05.09 |