๋ฐ์ํ
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ
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 |