본문 바로가기
JavaScript

JavaScript 알고리즘(9) Recursive function

by 새발개발JA 2022. 9. 6.
반응형

 

오늘 소개할 친구는 재귀함수이다. 알고리즘 공부하는 중 나온 친구이다.

근데 꽤 흥미로운 친구라서 소개 겸 공부겸 아무튼 참지못하고 포스팅을 올려본다.

 

 


JavaScript 알고리즘(9) Recursive function

재귀함수는 자기자신 속에서 또 호출되는 함수를 의미한다. (마치 거울의 방에서 끝없이 내 자신이 보이는 느낌이랄까 )

예시로 들 코드는 모든 숫자의 합과 곱을 구하는 공식이다.

맨처음 코드를 공부하면서 배웠던 함수이며, 실무에서도 은근히 많이 사용하는 추억이 담긴 함수인데,

이것을 재귀함수로 구현하며 밀려오는 감동이란 🤩

** 반드시 base case 를 만들어놓아야만 한다. 그래야 무한루프의 굴레에 빠지지 않는다.

 

 

모든 수의 합

// regular way
function sumRange(num) {
     let total = 1;
    for(let i = num; i > 0; i--){
        total += i
    }
    return total;
}

// recursive way
function sumRangeRecursive(num) {
    if(num === 1) return 1;
    return num + sumRange(num-1);
}

 

 

모든 수의 곱

// regular way
function factorial(num) {
    let total = 1;
    for(let i = num; i > 0; i--){
        total *= i
    }
    return total;
}

// recursive way 
function factorialRecursive(num) {
    if(num === 1) return 1;
    return num * factorialRecursive(num-1);
}

 

 

 

 

반응형

댓글