배열을 입력 받아 모든 요소의 합을 구하여라
function arrSum(arr) {
if(arr.length === 0){
return 0
} // 배열의 길이가 0이면 리턴값은 0이다
let head = arr[0] // 인덱스 0번째 속성을 머리 변수로 선언
let tail = arr.slice(1) // 1번째부터 나머지 속성을 꼬리 변수로 선언
return head + arrSum(tail)// 머리 변수 + 자기 함수를 불러온후 그안에 나머지 꼬리변수를 넣음
}
// - 1 + (-2) = -3
// -3 + 1 = -2
// -2 + 3 = 1
리턴값 = 1
let output = arrSum([-1, -2, 1, 3]);
console.log(output); // --> 1
결론
재귀문제에서 가장 기본적인 문제이지만 이해하는 과정에서 어려움을 느꼈다
하지만 분명 이 문제는 for문으로 충분히 풀수있는 문제이지만
재귀함수 사용으로 코드가 좀 더 간결해서 가독성 측면에서 좋은거 같다