π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[μκ³ λ¦¬μ¦ μν νλ°μ§ λλ°μ§πΎ] μ¬κ· μ¬μ© λ°©λ² (Recursion) λ³Έλ¬Έ
π©π» μ»΄ν¨ν° ꡬ쑰/Algorithm
[μκ³ λ¦¬μ¦ μν νλ°μ§ λλ°μ§πΎ] μ¬κ· μ¬μ© λ°©λ² (Recursion)
μ§μ§μνμΉ΄ 2023. 6. 26. 12:56728x90
λ°μν
<λ³Έ λΈλ‘κ·Έλ μ½λ©λ¬Έ codingmoon λμ μ νλΈλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€ :-)>
=> κ°λ°μ νμ μκ³ λ¦¬μ¦ #1. μ¬κ· μ¬μ© λ°©λ² (Recursion)
𫧠μ¬κ· μ¬μ© λ°©λ² (Recursion)
: μκΈ° μμ μ νΈμΆνλ ν¨μ
πΎ 10μμ countDown νκΈ°
: μν ν λλ§λ€ -1 νκΈ°
: 0λ³΄λ€ μμΌλ©΄ μ€μ§νκΈ°
function cntDown(n: number): void {
// 1. Base case (stop contidtion)
if (n <= 0 ) {
return;
}
// 2. Resursive case
console.log(n)
cntDown(--n)
cntDown(10)
πΎ λ¬Έμμ΄ κΈΈμ΄ κ΅¬νκΈ°
function getLength(s: string): number {
// 1. Base case (stop contidtion)
if (s === "") {
return 0;
}
// 2. Resursive case
return 1 + getLength(s.substring(1)) // ν¨μκ° νλ² νΈμΆλ λλ§λ€, λ¬Έμμ΄ sμμ μκΈμ νλ λΉΌκΈ°
}
πΎ ν©ν 릴μΌ
function factorial(n: number): number {
if (n === 0 || n ===1) {
return 1;
}
for (let i = n - 1; i >= 1; i--) {
n = n * i;
}
return n;
}
// μ¬κ·ν¨μ
function factorial(n: number): number {
// 1. Base case (stop contidtion)
if (n === 0 || n ===1) {
return 1;
}
// 2. Resursive case
return n * factorial(--n)
}
728x90
λ°μν
'π©βπ» μ»΄ν¨ν° ꡬ쑰 > Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Comments