์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ์คํฌ๋ฆฝํธ
- REACT
- CSS
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- fetch API
- ๋ธ๋ก๊ทธ
- ์ฝ๋ฉํ ์คํธ
- ํ๋ก ํธ์๋
- history api
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐ๋ธ์ฝ์ค
- useRef
- Props
- Gatsby
- position
- float
- Flex
- useEffect
- Today
- Total
Daehyunii's Dev-blog
ํฉ์ด ๊ฐ์ ๋ถ๋ถ์งํฉ(์ด์งํธ๋ฆฌ DFS) ๋ณธ๋ฌธ
ํฉ์ด ๊ฐ์ ๋ถ๋ถ์งํฉ(์ด์งํธ๋ฆฌ DFS)
Daehyunii 2022. 9. 7. 21:52๋ฌธ์ (์ถ์ฒ : ์ธํ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ๊ฐ์, ์ ๋ณด์ฌ๋ฆผํผ์๋)
N๊ฐ์ ์์๋ก ๊ตฌ์ฑ๋ ์์ฐ์ ์งํฉ์ด ์ฃผ์ด์ง๋ฉด, ์ด ์งํฉ์ ๋ ๊ฐ์ ๋ถ๋ถ์งํฉ์ผ๋ก ๋๋์์ ๋ ๋ ๋ถ๋ถ์งํฉ์ ์์์ ํฉ์ด ์๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ฉด “YES"๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ”NO"๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋๋ก ๋๋๋ ๋ ๋ถ๋ถ์งํฉ์ ์๋ก์ ์งํฉ์ด๋ฉฐ, ๋ ๋ถ๋ถ์งํฉ์ ํฉํ๋ฉด ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์๋์ ์งํฉ์ด ๋์ด ํฉ๋๋ค.
์๋ฅผ ๋ค์ด {1, 3, 5, 6, 7, 10}์ด ์ ๋ ฅ๋๋ฉด {1, 3, 5, 7} = {6, 10} ์ผ๋ก ๋ ๋ถ๋ถ์งํฉ์ ํฉ์ด 16์ผ๋ก ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ ๊ฒ์ ์ ์ ์๋ค.
โฃ ์
๋ ฅ์ค๋ช
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N(1<=N<=10)์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค์ ์งํฉ์ ์์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์์๋ ์ค๋ณต๋์ง ์์ผ๋ฉฐ, ๊ทธ ํฌ๊ธฐ๋ 1,000,000 ์ดํ์
๋๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ฒซ ๋ฒ์งธ ์ค์ “YES" ๋๋ ”NO"๋ฅผ ์ถ๋ ฅํ๋ค.
โฃ ์ ๋ ฅ์์ 1
6
1 3 5 6 7 10
โฃ ์ถ๋ ฅ์์ 1
YES
Tip
๋ฌธ์ ํ์ด
//์ ๋ต
function solution(arr){
let answer="NO", flag=0;
let total=arr.reduce((a, b)=>a+b, 0);
let n=arr.length;
function DFS(L, sum){
if(flag) return; // ํ ๋ฒ ์ฐพ๊ฒ ๋๋ฉด ๊ทธ ๋ค์ ๋ ์ฐพ์ ํ์๊ฐ ์์ผ๋ฏ๋ก, ๊ณ์ ์ฐพ๋๊ฑฐ ๋ฐฉ์ง์ฉ
if(L===n){
if((total-sum)===sum){
answer="YES";
flag=1; // ํ ๋ฒ ์ฐพ๊ฒ ๋๋ฉด ๊ทธ ๋ค์๋ ๋ ์ฐพ์ ํ์๊ฐ ์์ผ๋ฏ๋ก, ๊ณ์ ์ฐพ๋๊ฑฐ ๋ฐฉ์ง์ฉ
}
}
else{
DFS(L+1, sum+arr[L]);
DFS(L+1, sum);
}
}
DFS(0, 0);
return answer;
}
let arr=[1, 3, 5, 6, 7, 10];
console.log(solution(arr));
'๐ Language & CS knowledge > Algorithm (๊ธฐ์ด๋ฌธ์ ํ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํฉํ ๋ฆฌ์ผ (0) | 2022.09.07 |
---|---|
์ค๋ณต์์ด ๊ตฌํ๊ธฐ(DFS) (0) | 2022.09.07 |
๋ถ๋ถ์งํฉ ๊ตฌํ๊ธฐ(์ด์งํธ๋ฆฌ DFS) (0) | 2022.09.07 |
์ด์งํธ๋ฆฌ ์ํ(DFS : ๊น์ด ์ฐ์ ํ์) (0) | 2022.09.07 |
์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ์ด์ง์ ์ถ๋ ฅ (0) | 2022.09.07 |