728x90
๋ฐ์ํ
๐ 01 - ์ฌ๊ทํจ์
์์ฐ์ N์ด ์ ๋ ฅ๋๋ฉด ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ์ฌ 1๋ถํฐ N๊น์ง๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค.
๐ ํ์ด ๋ฐฉ๋ฒ
์คํ ํ๋ ์(Stack Frame)์ ๋ํ ๋ด์ฉ์ ์๊ณ ์์ผ๋ฉด ์ฌ๊ทํจ์๋ฅผ ์ดํดํ๋๋ฐ ์์ด์ ๋์์ด ๋๋ค. ํด๋น ๋ด์ฉ์ ๋ค์ ์คํ ํ๋ ์(Stack Frame)์ ๋ฌด์์ธ๊ฐ? ๋ผ๋ ๊ธ์ ๋ฐ๋ก ์ ๋ฆฌํ์๋ค.
- solution ํจ์ ๋ด๋ถ์์ DFS(n)๋ฅผ ํธ์ถํ๋ฉด ํด๋น ํจ์์ ๋งค๊ฐ ๋ณ์, ๋ฐํ ์ฃผ์๊ฐ. ์ง์ญ ๋ณ์ ๋ฑ์ ์คํ ํ๋ ์์ด ์คํ์ ์ ์ฅ๋๋ค. L์ด 0์ด ๋ ๋๊น์ง ๊ณ์ํด์ DFS(L - 1) ํจ์๋ฅผ ํธ์ถํ๋ฉด์ ํด๋น ํจ์์ ์คํ ํ๋ ์์ด ์ถ๊ฐ๋ก ์คํ์ ์ ์ฅ๋๋ค.
- L์ด 0๊ณผ ๊ฐ์ผ๋ฉด returnํ๊ณ ์คํ์ ์ ์ฅ๋ ํจ์๋ฅผ ์ฐจ๋ก๋๋ก ํธ์ถํ์ฌ console.log๋ฅผ ์คํํ๊ณ ์ข ๋ฃํ๋ค.
- ํจ์์ ํธ์ถ์ด ์ข ๋ฃ๋๋ฉด, ํด๋น ํจ์์ ์คํ ํ๋ ์์ด ์คํ์์ ์ ๊ฑฐ๋๋ค.
๐ ์์ค ์ฝ๋
function solution(n) {
function DFS(L) {
if (L === 0) return;
else {
DFS(L - 1);
console.log(L);
}
}
DFS(n);
}
solution(3);
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript/section 8] 03 - ์ด์งํธ๋ฆฌ ์ํ (0) | 2022.10.18 |
---|---|
[JavaScript/section 8] 02 - ์ด์ง์ ์ถ๋ ฅ(์ฌ๊ท) (0) | 2022.10.14 |
[JavaScript/section 7] 12 - ๋ง๊ตฌ๊ฐ ์ ํ๊ธฐ (0) | 2022.10.12 |
[JavaScript/section 7] 11 - ๋ฎค์ง ๋น๋์ค (0) | 2022.10.10 |
[JavaScript/section 7] 10 - ์ด๋ถ ๊ฒ์ (2) | 2022.10.09 |