04_fibonacci

TK·2022년 6월 27일

[코플릿] 재귀

목록 보기
4/9

💬 문제

수(num)를 입력받아 피보나치 수열의 num번째 요소를 리턴해야 합니다.

0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

📁 입력

  • 인자 1 : num
    number 타입의 num (num은 0 이상 15 이하의 정수)

📂 출력

  • number 타입을 리턴해야 합니다. (num 번째 피보나치 수)

주의 사항

  • 함수 fibonacci는 재귀함수의 형태로 작성합니다.
  • 반복문(for, while) 사용은 금지됩니다.
  • 피보나치 수열은 0번부터 시작합니다.

📺 입출력 예시

let output = fibonacci(5);
console.log(output); // --> 5

output = fibonacci(9);
console.log(output); // --> 34

내가 푼 답

function fibonacci(num) {
// TODO: 여기에 코드를 작성합니다.
// 별도의 최적화 기법(memoization)은 금지됩니다.
if(num === 0){
  return 0;
}
if(num === 1){
  return 1;
}
else if(num>1){
  return fibonacci(num-1)+fibonacci(num-2);
}
}

정답 및 나만의 해석

function fibonacci(num) {
  if (num <= 1) {
    return num;
  }

  return fibonacci(num - 1) + fibonacci(num - 2);
}                                                 

📝 한줄평

if문 조건으로 모든 케이스를 작성해 줄 필요는 없다. 그리고 내가 쓴 것처럼 0일때 0이 리턴되고 1일때 1이 리턴된다면 num일때 num이 리턴된다고 작성해 주면 된다.

profile
쉬운게 좋은 FE개발자😺

0개의 댓글