자바스크립트 재귀함수 TIL

김영진·2021년 2월 10일
0

코드스테이츠

목록 보기
13/14
  • 오늘 배운 재귀 함수 풀이 중 기억해야 할 패턴들
// 피보나치 수열 관련 문제
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주차 일정이 고비가 많이 찾아오는 힘든 일정이었다...

profile
UI개발자 in Hivelab

0개의 댓글