๋ฐ์ํ
DFS์์ ๊ธฐ๋ณธ ์ค์ ๊ธฐ๋ณธ ์ฝ๋๋ฅผ ๊ณต๋ถํ์ต๋๋ค.
์ ์์ํ ์ถ๋ ฅํ๊ธฐ
โฅ ๋ ๊ฐ๋ฅ์ผ๋ก ๋ป๋ ์ฌ๊ทํจ์(์ฌ๊ธฐ์๋ DFS(v*2), DFS(v*2+1)) ์์ ์ถ๋ ฅํ๋ฉด ๋๋ค.
function solution(v){
let answer;
function DFS(v){
if(v > 7) return; // ์ข
๋ฃํ ๊ฑฐ์ผ
else{
console.log(v); // ์ฌ๊ธฐ๋ ๋ป์๊ฑฐ์ผ! ์ผ๋จ ๋ถ๋ชจ ์ถ๋ ฅ
DFS(v*2); // ์ผ์ชฝ ์์ ์ถ๋ ฅ
DFS(v*2+1); // ์ค๋ฅธ์ชฝ ์์ ์ถ๋ ฅ
}
}
DFS(v);
return answer;
}
console.log(solution(1));
//
1
2
4
5
3
6
7
์ค์์ํ ์ถ๋ ฅํ๊ธฐ
function solution(v){
let answer;
function DFS(v){
if(v > 7) return; // ์ข
๋ฃํ ๊ฑฐ์ผ
else{
DFS(v*2); // ์ผ์ชฝ ์์ ์ถ๋ ฅ
console.log(v); // ๋ถ๋ชจ ์ถ๋ ฅ
DFS(v*2+1); // ์ค๋ฅธ์ชฝ ์์ ์ถ๋ ฅ
}
}
DFS(v);
return answer;
}
console.log(solution(1));
//
4
2
5
1
6
3
7
ํ์์ํ ์ถ๋ ฅํ๊ธฐ
function solution(v){
let answer;
function DFS(v){
if(v > 7) return; // ์ข
๋ฃํ ๊ฑฐ์ผ
else{
DFS(v*2); // ์ผ์ชฝ ์์ ์ถ๋ ฅ
DFS(v*2+1); // ์ค๋ฅธ์ชฝ ์์ ์ถ๋ ฅ
console.log(v); // ๋ถ๋ชจ ์ถ๋ ฅ
}
}
DFS(v);
return answer;
}
console.log(solution(1));
//
4
5
2
6
7
3
1
๐ ์๋ชป๋ ๊ฐ๋ ์ ๋ฌ์ด ์๋ค๋ฉด ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค. ์ ์ ์ฑ์ฅ์ ํฐ ๋์์ด ๋ฉ๋๋ค๐ค
๋ฐ์ํ
'๐ฌComputer Science > ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
forEach, map, filter, reduce ๋ฉ์๋ ์๋์๋ฆฌ ์ ๋ฆฌ (0) | 2022.07.27 |
---|---|
๋์ด ์ฐ์ ํ์ (BFS) (0) | 2022.07.04 |
๋ฐฑ์ค 10809 ์ํ๋ฒณ ์ฐพ๊ธฐ // ์๋ฐ์คํฌ๋ฆฝํธ๋ก a๋ถํฐ z๊น์ง ์ถ๋ ฅํ๊ธฐ (0) | 2022.06.28 |
๋ฐฑ์ค 15740, A+B - 9, 40์ ๋ง์ ์ด์ , node.js (0) | 2022.06.26 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (0) | 2022.06.03 |