재귀의 이해
arr[5,3,2] 리스트의 합을 구하는 방법을 생각할 때
let sum=0;
for(let i=0; i<arr.length; i++){
sum +=arr[i]
}
만약에 작은 문제로 쪼개서 해결을 한다면??
arrsum[]=0
arrsum[3]=2+ arr[] =2
arrsum[3,2]=3+arrsum[2] = 3+2 =5
arrsum[5,3,2]=5+arrsum[3,2]= 5+5 =10
function arrsum(n){
if(n===1){
return 1
}else
n*func(n-1)
}
재귀의 포인트
1. 형태의 반복
2. 파라미터의 변화
3. 새로운 값 추출
이 모든 것의 목적은 어떤 형태를 새로운 형태로 바꾸는 것 재귀 자체에 너무 집착하지 말자