μ¬κ·ν¨μπͺ
μ¬κ·μ μ¬μ μ μΈ μλ―Έλ₯Ό 보면 μλμ κ³³μΌλ‘ λ€μ λλμμ€λ κ²μ λ§νλλ° ν λ¨κ³ λ λμκ° μ»΄ν¨ν° κ³Όν μ©μ΄μμμ μ¬κ·λ μ΄λ ν κ²μ μ μν λκΉμ§ μκΈ° μμ μ μ°Έμ‘°νλ κ²μ λ»νλ€. μ΄μ κ°μ νλ¦μΌλ‘ μ¬κ·ν¨μλ₯Ό μ€λͺ νλ€λ©΄ ν¨μ λ΄λΆμμ μκΈ° μμ μ νΈμΆ(μ°Έμ‘°)νλ ν¨μλΌκ³ ν μ μλ€.
μ¬κ·μ μ¬κ³ κ°μ΄λπ
1οΈβ£ μ¬κ· ν¨μμ μ μΆλ ₯κ° μ μνκΈ°
2οΈβ£ λ¬Έμ λ₯Ό μͺΌκ°μ΄ λ μ΄μ λλ μ μλ κ°μ₯ μμ λ¨μκΉμ§ λλκΈ°
3οΈβ£ κ°μ₯ μμ λ¨μμ λ¬Έμ λ₯Ό ν΄κ²°νκΈ°- μ¬κ·μ κΈ°μ΄(base case): κ°μ₯ μμ λ¨μμ λ¬Έμ λ₯Ό ν΄κ²°νλ κ²½μ°μ μ - base caseλ μ¬κ·μ νμΆ μ‘°κ±΄μ κ΅¬μ± - μ¬κ·μ νμΆ μ‘°κ±΄: μ¬κ· νΈμΆμ΄ λ©μΆλ 쑰건
4οΈβ£ λ³΄λ€ ν° λ¨μμ λ¬Έμ λ₯Ό μμ°¨μ μΌλ‘ ν΄κ²°νκΈ°
5οΈβ£ μ½λ ꡬννκΈ°
number
νμ
μ μ μλ₯Ό μ
λ ₯λ°μ μ§μμΈμ§ μ¬λΆλ₯Ό 리ν΄νλ ν¨μnumber
νμ
μ μ μλ₯Ό μ
λ ₯λ°μ boolean
νμ
μ 리ν΄ν΄μΌ νλ€ function isEven(num) {
// μ λκ°μ ν΅ν΄ μμ μ μλ μμ μ μλ‘ λ³κ²½
num = Math.abs(num);
// base case
if (num === 0) {
return true;
}
if (num === 1) {
return false;
}
// recursive case
return isEven(num-2);
}
- sumTo(num): 0λΆν° μ£Όμ΄μ§ μ«μ numκΉμ§μ ν©μ ꡬνλ ν¨μ
function sumTo(num) { // base case if (num === 0) { return 0; } // recursive case return num + sumTo(num-1); }
<μ€λμ μΌκΈ°>
λΆνΈμΊ ν μ΄λ° λ°λ³΅λ¬Έμ κ΅΄λ μ λΉ μ Έ νμ°μ λλ€κ° κ²¨μ° λΉ μ Έλμ¨ μ΄ν μ€λλ§μ κ°μ κΈ°λΆμ λκ»΄λ΄€λ€...γ νμ§λ§ κ·Έ λμ λ¬λΌμ§ μ μ΄ μλ€λ©΄ κ·Έ λλ ν¬κΈ°νκ³ μΆμ λ§μμ΄μκ³ μ§κΈμ νμ΄λ΄κ³ μΆμ λ§μμ΄λΌλ μ μ΄λ€. κ·Έκ²λ§μΌλ‘λ ν° λ°μ μ΄λΌκ³ μκ°νκ³ λκΉμ§ λμ ν΄λ΄μΌκ² λ€.
μ΄λ²μ λ§λκ² λ νμ΄λΆμ μλλ°©κ³Ό μν΅νλ λ°©λ²μ μ μμλ λΆ κ°μλ€. κ·Έ λλΆμ μ΄λ €μ΄ κ³Όμ μ΄μ§λ§ μ¬λ―Έμκ² μ§νν μ μμκ³ λ΄κ° μκ³ μλ κ²λ€ λͺ¨λ₯΄λ κ²λ€μ νΈνκ² κ³΅μ ν μ μμλ€. κ·Έλ¬λ©΄μ μλλ₯Ό λ°°λ €νλ νμ λ₯λ ₯μ΄ μ λ§ μ€μνꡬλ λ€μκΈ κΉ¨λ«κ² λ κ² κ°λ€. κ·Έ μ μ λ°°μ μ΄λ² μΉμ μμλ λ΄κ° ν μ μλ μ μμ νμ΄ νλμ μ κ·Ήμ μΌλ‘ μν΄μΌκ² λ€!