2022이전/알고리즘(하루에하나씩!)
타겟 넘버(깊이/너비 우선 탐색(DFS/BFS))
바로퇴장
2020. 3. 18. 16:40
https://programmers.co.kr/learn/courses/30/lessons/43165
class Solution {
int answer = 0;
public int solution(int[] numbers, int target) {
Cal(numbers, target, 0, 0);
return answer;
}
public void Cal(int[] number, int target, int temp, int count){
int plus = temp;
int minus = temp;
//마지막에 도달 햇을 때
if(count == number.length){
if(temp == target){
answer++;
}
else{
}
}
//마지막에 도달 하지 못했을 때
else{
plus = temp + number[count];
minus = temp - number[count];
Cal(number, target, plus, count+1);
Cal(number, target ,minus, count+1);
}
}
}
다른 사람은 풀이를 보면 노드를 이용하거나 BFS 개념을 이용했지만, 재귀함수 하나로 끝나는데? 띠용 물로 count라는 index 개념을 포함하고 있어 결국 이 코드도 BFS 개념이 들어가긴 했지만,,,,