📝[Section3_Unit1] 재귀
원래의 자리로 되돌아가거나 되돌아옴.
function recursive(input1, input2, ...) {
// base case : 문제를 더 이상 쪼갤 수 없는 경우
if (문제를 더 이상 쪼갤 수 없을 경우) {
return 단순한 문제의 해답;
}
// recursive case : 그렇지 않은 경우
return 더 작은 문제로 새롭게 정의된 문제
}
✔️ 반복문으로 평범하게 푼다면
function arrSum (arr){
let sum = 0;
for(let i=0; i < arr.length; i++){
sum += arr[i];
}
return sum;
}
console.log(arrSum([1,2,3,4,5])) // 15
✔️ 재귀를 이용한 코드
function arrSum (arr){
if(arr.length === 0){
return 0;
}
return arr.shift() + arrSum(arr)
}
console.log(arrSum([1,2,3,4,5])) // 15