반응형
오늘 소개할 친구는 재귀함수이다. 알고리즘 공부하는 중 나온 친구이다.
근데 꽤 흥미로운 친구라서 소개 겸 공부겸 아무튼 참지못하고 포스팅을 올려본다.
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);
}
반응형
'JavaScript' 카테고리의 다른 글
JavaScript 알고리즘 (11) Binary Search (0) | 2022.09.25 |
---|---|
JavaScript 알고리즘(10) Linear Search (0) | 2022.09.12 |
CSS - input [type="range"] 투명하게 만들기 (feat. 브라우저 별 속성 -web-kit-appearance) (1) | 2022.09.05 |
CSS - white-space 란 (0) | 2022.08.31 |
JavaScript - 정규식 Regular expression (0) | 2022.07.29 |
댓글