// 피보나치 수열 관련 문제
function fibonacci(num) { //5 입력
if (num <= 1) {
return num;
}
return fibonacci(num - 1) + fibonacci(num - 2)
// num의 전과 전전 요소를 계속 더한다.
// 4 + 3 다시 호출
// 3+2 2+1 다시 호출
// 2+1 1 1 0 1 이런식으로 계속 나뉨
}
// head와 tail로 구분하여 쉽게 접근할 수 있도록 만들자.
const head = arr[0];
const tail = arr.slice(1); // arr[1]에서 arr.length-1 까지 복제
if (Array.isArray(head)) {
return flattenArr([...head, ...tail]);
} else {
return [head].concat(flattenArr(tail));
}// [head] 배열 안에 head의 요소를 넣겠다.
그래도 재귀는 언더바 보다 낫네... 4주차 일정이 고비가 많이 찾아오는 힘든 일정이었다...