Algorithm/μΈνλ°(inflearn)
[JavaScript/section 8] 01 - μ¬κ·ν¨μ
_μ±νΈ_
2022. 10. 14. 15:04
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);