๐ section08 - 1 - ์ฌ๊ทํจ์
์ด๋ฒ ์น์
์ ์ฌ๊ท ํจ์์ ์์ ํ์(๊น์ด ์ฐ์ ํ์: DFS)์ ๋ฐฐ์ด๋ค. ์ด์ ๋ถํฐ ์ฌ๊ท ํํธ๋ ์ด๋ ค์์ ๋ง์ด ํธ์ํ๋๋ฐ, ์ด๋ฒ ์น์
์ ํตํด ๊ฐ์ ๋์ฐพ์์ผ๋ฉด ์ข๊ฒ ๋ค. ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ ์์ฐ์ N
์ด ์
๋ ฅ๋์ ๋ ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํ์ฌ 1๋ถํฐ N๊น์ง
์ถ๋ ฅํ๋ ๋ฌธ์ ๋ค.
์ด์ ์ ์ฝ๋์
์์ python
์ผ๋ก ํ๋ฒ ํ์ด๋ดค๋ค. ์์ ์ ์ฌ๊ท ๋ฌธ์ ๋ฅผ ํ์์ ๋๋ ํ๋จ before
๋ฐฉ๋ฒ์ฒ๋ผ ํธ์ถ๋ ์ฌ๊ท ํจ์๋ฅผ ์ ๊ณ return
์ด ๋์ค๋ฉด ๋ค์ ์ฌ๋ผ๊ฐ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋๋ฐ, ์ด๊ฒ์ ๋จ์ ์ ์ฌ๊ท๊ฐ ๊น์ด์ง๋ฉด ์ด๋ค ์ฝ๋์์๋ถํฐ ๋ค์ ์งํํด์ผ ํ๋์ง ํท๊ฐ๋ ค์ ๋ง์ ์ด๋ ค์์ ๊ฒช์๋ค. ํ์ง๋ง ๊ฐ์ ์ ์๋๊ป์ after
๋ฐฉ๋ฒ์ฒ๋ผ ํ์ฌ ํธ์ถ๋ ์ฌ๊ท ํจ์์ ํธ์ถ๋ ์ฝ๋๋ผ์ธ์ ์ ์ด๋๋ฉด ๋ค์ ๋์์์ ๋ ์ด๋์๋ถํฐ ์งํ๋๋์ง ๋ฐ๋ก ํ์ธํ ์ ์์ด ํท๊ฐ๋ฆด ์ผ์ด ์๋ค๊ณ ํ์
จ๋ค. ์์ผ๋ก `DFS` ๊ด๋ จ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์์ผ๋ก ์์๋๋ฅผ ๊ทธ๋ฆด ๋after
๋ฐฉ๋ฒ์ฒ๋ผ ํด์ผ๊ฒ ๋ค.
DFS
๋ฅผ ์คํํ๋ฉดL-1
ํจ์๋ฅผ ํธ์ถํ๋ค.- ๊ณ์ํด์
L-1
ํจ์๋ฅผ ํธ์ถํ๋คL
์ด 1๋ณด๋ค ์์ผ๋ฉดreturn
ํ๊ณstack
์ ์ ์ฅํ ํจ์๋ฅผ ๋ถ๋ฌ์ค๋ฉด์console.log
๋ฅผ ์คํํ๋ค.
let n = 10;
solution(n);
function solution(n){
function DFS(L) {
if (L < 1) return;
DFS(L - 1);
console.log(L);
}
DFS(n);
}
๋๊ธ