반응형
[프로그래머스] 타겟 넘버
https://programmers.co.kr/learn/courses/30/lessons/43165
문제 접근
dfs를 이용해서 numbers[0] 부터 numbers[numbers.length-1]까지 모든 숫제에대해서 +,-한 경우를 탐색해서 target이 되는 경우의 수를 구했다.
Code
class Solution {
int answer;
int[] nums;
public int solution(int[] numbers, int target) {
answer = 0;
nums = numbers;
dfs(0, 0, target);
return answer;
}
public void dfs(int num, int cnt, int target){
if(cnt == nums.length){
if(num == target){
answer++;
}
return;
}
else {
dfs(num + nums[cnt], cnt+1, target);
dfs(num - nums[cnt], cnt+1, target);
}
}
}
어려웠던 점 / 배운 점 / 느낀 점
뭔가 dfs/bfs를 풀면 visited를 사용해야만 할 것 같은 기분이라서 무의식적으로 선언했는데, 이 친구는 사용할 필요가 없었다!
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm/Java][백준] 1918 후위 표기식 (0) | 2022.04.08 |
---|---|
[Algorithm/Java][백준] 1865 웜홀 (0) | 2022.04.07 |
[Algorithm/Java][프로그래머스] 다음 큰 숫자 (0) | 2022.04.06 |
[Algorithm/Java][백준] 1167 트리의 지름 (0) | 2022.04.04 |
[Algorithm/Java][백준] 1967 트리의 지름 (0) | 2022.04.04 |