코딩테스트-알고리즘/프로그래머스
[프로그래머스/Lv.2] 타겟 넘버
닉네임생각즁
2024. 1. 12. 23:50
https://school.programmers.co.kr/learn/courses/30/lessons/43165
class Solution {
int answer = 0;
public int solution(int[] numbers, int target) {
int sum = 0;
int depth = 0;
dfs(numbers, target, 0, 0);
return answer;
}
void dfs(int[] numbers, int target, int depth, int sum) {
if(depth == numbers.length) {
if(target == sum) {
answer++;
} return;
}
else {
dfs(numbers, target, depth+1, sum+numbers[depth]);
dfs(numbers, target, depth+1, sum-numbers[depth]);
}
}
}
드디어 처음으로 dfs 문제를 성공했다
강의 보고 여러 문제 찾아보고 하면서 dfs가 어떤순서로 동작하는지, 문제를 어떻게 풀어야할지는 이해가 됐지만 이걸 직접 코드로 구현하려고 하면 전혀 써지지가 않아서 너무너무 힘들었다
앞으로 dfs랑 많이 친해지고싶다