728x90
https://school.programmers.co.kr/learn/courses/30/lessons/43165
728x90
메모리: 74.3 MB, 시간: 6.12 ms
사용 알고리즘: DFS
class Solution {
static int[] numbers;
static int target;
static int answer;
public int solution(int[] numbers, int target) {
this.numbers = numbers;
this.target = target;
answer = 0;
dfs(0, 0);
return answer;
}
private static void dfs(int idx, int num) {
// 마지막 숫자까지 연산 완료
if(idx == numbers.length) {
if(num == target) answer++;
return;
}
// 더하기
dfs(idx + 1, num + numbers[idx]);
// 빼기
dfs(idx + 1, num - numbers[idx]);
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 131127] 할인 행사 (java) (0) | 2024.09.20 |
---|---|
[프로그래머스, 42889] 실패율 (java) (1) | 2024.09.12 |
[프로그래머스, 43164] 여행경로 (java) (2) | 2024.09.10 |
[프로그래머스, 161989] 덧칠하기 (java) (1) | 2024.09.01 |
[프로그래머스, 64062] 징검다리 건너기 (java) (0) | 2024.08.29 |