Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ ๋๋ฒ ๋ณธ๋ฌธ
๐ ๋ฌธ์
๋ฌธ์ ์ค๋ช
n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค.
-1+1+1+1+1 = 3
+1-1+1+1+1 = 3
+1+1-1+1+1 = 3
+1+1+1-1+1 = 3
+1+1+1+1-1 = 3
์ฌ์ฉํ ์ ์๋ ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers, ํ๊ฒ ๋๋ฒ target์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ซ์๋ฅผ ์ ์ ํ ๋ํ๊ณ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ- ์ฃผ์ด์ง๋ ์ซ์์ ๊ฐ์๋ 2๊ฐ ์ด์ 20๊ฐ ์ดํ์ ๋๋ค.
- ๊ฐ ์ซ์๋ 1 ์ด์ 50 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- ํ๊ฒ ๋๋ฒ๋ 1 ์ด์ 1000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
๐ก ์์ด๋์ด
DFS ์ฌ์ฉํด์ผ ํ๋ ๊ฒ ๊น์ง ์๊ฒ ๋๋ฐ..์ด๋ป๊ฒ ์ง์ผ ํ ์ง ๋ชฐ๋ผ์ ๊ณ ๋ฏผํ๋ค๊ฐ ๊ตฌ๊ธ๋งํด๋ดค๋คใ
์ฌ๊ธฐ์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์จ๋์ผ์ ์ ์ฐธ๊ณ ํ๋ค.
์ฝ์ผ๋ฉด ์ดํด๊ฐ ๋๋๋ฐ ์ ๊ตฌํ์ ๋ชปํ ๊น๐ญ
โ๏ธ ํ์ด
function solution(numbers, target) {
var answer = 0;
dfs(0, 0);
function dfs(index, sum){
if(numbers.length === index){
if(target === sum) answer++;
return 0;
}
//1
dfs(index + 1, sum + numbers[index]);
//2
dfs(index + 1, sum - numbers[index]);
}
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐํํ๋ฉด ์ ๋ฆฌ (0) | 2023.04.04 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ณต์ ์ฐ์ฑ (0) | 2023.04.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2023.03.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2023.03.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ธฐ๋ฅ ๊ฐ๋ฐ (0) | 2023.03.02 |