[ μλ°μ€ν¬λ¦½νΈ(JavaScript) ] section08 - 1 - μ¬κ·ν¨μ
π 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);
}