Recent Posts
Recent Comments
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
Tags
- useRef
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํ๋ก ํธ์๋
- Flex
- ๋ฐ๋ธ์ฝ์ค
- float
- Gatsby
- ์ฝ๋ฉํ ์คํธ
- REACT
- history api
- CSS
- position
- Props
- ๋ธ๋ก๊ทธ
- fetch API
- useEffect
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ์คํฌ๋ฆฝํธ
Archives
- Today
- Total
Daehyunii's Dev-blog
์ธ์ ๋ฆฌ์คํธ ๊ฒฝ๋ก ํ์(DFS) ๋ณธ๋ฌธ
๐ Language & CS knowledge/Algorithm (๊ธฐ์ด๋ฌธ์ ํ์ด)
์ธ์ ๋ฆฌ์คํธ ๊ฒฝ๋ก ํ์(DFS)
Daehyunii 2022. 9. 7. 22:19๋ฌธ์ (์ถ์ฒ : ์ธํ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ๊ฐ์, ์ ๋ณด์ฌ๋ฆผํผ์๋)
๋ฐฉํฅ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง๋ฉด 1๋ฒ ์ ์ ์์ N๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๋ชจ๋ ๊ฒฝ๋ก์ ๊ฐ์ง ์๋ฅผ ์ถ๋ ฅํ๋ ํ ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์. ์๋ ๊ทธ๋ํ์์ 1๋ฒ ์ ์ ์์ 5๋ฒ ์ ์ ์ผ๋ก ๊ฐ๋ ๊ฐ์ง ์๋
12345
125
13425
1345
1425
145
์ด 6 ๊ฐ์ง์ ๋๋ค.
โฃ ์
๋ ฅ์ค๋ช
์ฒซ์งธ ์ค์๋ ์ ์ ์ ์ N(1<=N<=20)์ ๊ฐ์ ์ ์ M๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์๋ถํฐ M์ค์ ๊ฑธ์ณ ์ฐ ๊ฒฐ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ด ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ค.
โฃ ์ ๋ ฅ์์ 1
5 9
1 2
1 3
1 4
2 1
2 3
2 5
3 4
4 2
4 5
โฃ ์ถ๋ ฅ์์ 1
6
Tip
๋ฌธ์ ํ์ด
//์ ๋ต๋ณด๊ณ ๋ด๊ฐ ๋ค์ ์์ฑํ ์ ๋ต
function solution(n, arr){
let answer = 0;
let graph = Array.from(Array(n+1),()=>Array());
let check = Array.from({length : n+1},()=>0);
for(let [a,b] of arr){
graph[a].push(b);
}
function DFS(vertex){
if(vertex === 5){
answer++;
}
else{
for(let newVertex of graph[vertex]){
if(check[newVertex] === 0){
check[newVertex] = 1;
DFS(newVertex);
check[newVertex] = 0;
}
}
}
}
check[1] = 1;
DFS(1)
return answer;
}
let arr2=[[1, 2], [1, 3], [1, 4], [2, 1], [2, 3], [2, 5], [3, 4], [4, 2], [4, 5]];
console.log(solution(5, arr2));
'๐ Language & CS knowledge > Algorithm (๊ธฐ์ด๋ฌธ์ ํ์ด)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ก์์ง ์ฐพ๊ธฐ(์ํํธ๋ฆฌ๊ฒ์ : BFS) (0) | 2022.09.07 |
---|---|
์ด์งํธ๋ฆฌ ๋์ด ์ฐ์ ํ์(BFS) (0) | 2022.09.07 |
์ธ์ ํ๋ ฌ ๊ฒฝ๋ก ํ์(DFS) (0) | 2022.09.07 |
๊ทธ๋ํ์ ์ธ์ ํ๋ ฌ (0) | 2022.09.07 |
ํฉํ ๋ฆฌ์ผ (0) | 2022.09.07 |