Java/Programmers
[Lv.2]타겟 넘버
GLOWWW
2023. 2. 23. 19:41
그래프를 이용한 탐색(DFS, BFS)를 활용하여 푸는 문제이다. 이 문제는 dfs를 활용하여 풀면 되는 문제이다.
가장 간단한 문제이므로 탐색에 대한 개념이 있다면, 어렵지 않게 풀 수 있다. 그러나 그것이 나에게는 해당하지 않았지...
아래의 링크는 그래프를 이용한 탐색(DFS, BFS)를 공부한 내용이다.
package Lv_2;
public class 타겟넘버 {
static int answer = 0;
public static int solution(int[] numbers, int target) {
dfs(numbers, 0, target, 0);
return answer;
}
public static void dfs(int[] numbers, int depth, int target, int sum) {
System.out.println(sum);
if (depth == numbers.length) {
if (target == sum) {
answer++;
}
} else {
dfs(numbers, depth + 1, target, sum + numbers[depth]);
dfs(numbers, depth + 1, target, sum - numbers[depth]);
}
}
public static void main(String[] args) {
int[] numbers = {1, 1, 1, 1, 1};
int target = 3;
int result = solution(numbers, target);
System.out.println("결과는 = " + result);
}
}