ํฐ์คํ ๋ฆฌ ๋ทฐ
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ ๋๋ฒ
๊ฐ๋ฐ๊ฐ๊ตด๐ธ 2022. 8. 23. 19:06[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/43165
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
[ํ์ด]
๋ํ์ ์ธ DFS ๋ฌธ์ ๋ก ๋๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ์ด๋์ด ๊ฐ๋ฅํฉ๋๋ค.
- + ์ฐ์ฐ์ ํด์ฃผ๊ณ ๋ค์ index๋ก ์ด๋
- - ์ฐ์ฐ์ ํด์ฃผ๊ณ ๋ค์ index๋ก ์ด๋
ํ์ฌ ๊ณ์ฐ์ค์ธ numbers์ index๋ฅผ dfs ํจ์์ ์ธ์๋ก ์ ๋ฌํด ๋ง์ฝ ๋ชจ๋ ์ซ์๊ฐ ์ฐ์ฐ์ด ์๋ฃ๋๋ฉด, ์ฆ index๊ฐ numbers.length์ ๊ฐ์์ง๋ฉด dfs ํจ์๋ฅผ return ํฉ๋๋ค.
์์ 1๋ฒ์ ๊ณผ์ ์ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ์ด ์ฐ์ฐ์ด ์งํ๋ฉ๋๋ค.
[1 + 1 , 1 - 1]
[1 + 1 + 1, 1 + 1 - 1] [1 - 1 + 1, 1 - 1 - 1]
...
[์ฝ๋]
function solution(numbers, target) {
var answer = 0;
const dfs = (ret, i) => {
if(i === numbers.length) {
if(target === ret) {
answer++;
}
return;
}
dfs(ret + numbers[i], i + 1);
dfs(ret - numbers[i], i + 1);
}
dfs(0,0);
return answer;
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์์ฅ (0) | 2022.08.26 |
---|---|
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ๋จผ ๋ ธ๋ (0) | 2022.08.26 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2022.08.18 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2022.08.11 |
[Java] ํ๋ก๊ทธ๋๋จธ์ค - ํธํ ๋ฐฉ ๋ฐฐ์ (0) | 2022.07.22 |
- Total
- Today
- Yesterday
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- TDD
- ํ๋กํผํฐ
- ๋คํธ์ํฌ
- ์นด์นด์ค ์ธํด
- ์๋ฐ
- git
- ์ฝ๋ฉํ ์คํธ
- ๋ฐฑ์ค
- fp
- ์๊ณ ๋ฆฌ์ฆ
- ๋์์ธ ํจํด
- ํ๋กํ ์ฝ
- ์ ์ญ ๋ณ์
- Baekjoon
- ์ด๋ถํ์
- map
- ํฌํฌ์ธํฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐฑ์ค javascript
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ๋ฐฑ์ค node.js
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ๋ ์์ปฌ ํ๊ฒฝ
- ์ด์์ฒด์
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- http
- JavaScript
- ์๋ฐ์คํฌ๋ฆฝํธ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |