// power(2,0) // 1
// power(2,2) // 4
// power(2,4) // 16
function power(num, pow) {
if (pow === 0) return 1;
return num * power(num, pow - 1);
}
// udemy Solution
function power(base, exponent){
if(exponent === 0) return 1;
return base * power(base,exponent-1);
}
//factorial(1) // 1
// factorial(2) // 2
// factorial(4) // 24
// factorial(7) // 5040
function factorial(num) {
if (num <= 1) return 1;
return num * factorial(num - 1);
}
주의사항 - 0! 은 1이다... (자세한 설명이 들어간 링크 : https://johnleeedu.tistory.com/23)
// Udemy
function factorial(x){
if (x < 0 ) return 0;
if (x <= 1 ) return 1;
return x * factorial(x-1);
}
// productOfArray([1, 2, 3]); // 6
// productOfArray([1, 2, 3, 10]); // 60
function productOfArray(arr) {
if (!arr.length) return 1;
return arr[0] * productOfArray(arr.slice(1));
}
// Udemy
function productOfArray(arr) {
if(arr.length === 0) {
return 1;
}
return arr[0] * productOfArray(arr.slice(1));
}
// SAMPLE INPUT/OUTPUT
// recursiveRange(6); // 21
// recursiveRange(10); // 55
function recursiveRange(num) {
if (num === 0) return 0;
return num + recursiveRange(num - 1);
}
// Udemy
function recursiveRange(x){
if (x === 0 ) return 0;
return x + recursiveRange(x-1);
}
// fib(4) // 3
// fib(10) // 55
// fib(28) // 317811
// fib(35) // 9227465
function fib(num) {
if (num === 1 || num === 2) return 1;
return fib(num - 1) + fib(num - 2);
}
// Udemy
function fib(n){
if (n <= 2) return 1;
return fib(n-1) + fib(n-2);
}
'Algorithm' 카테고리의 다른 글
[문제풀이] Recursion 심화 (2) (0) | 2022.07.27 |
---|---|
[문제풀이] Recursion 심화 (1) (0) | 2022.07.26 |
Helper Method Recursion (+ Pure Recursion) (0) | 2022.07.24 |
Call Stack (0) | 2022.07.24 |
재귀 (Recursion) (0) | 2022.07.24 |