백준 10870. 피보나치 수 5(재귀함수)

Hyoyoung Kim·2023년 5월 20일
0

😒 재귀함수는 돌아가는 형태도 잘 이해가 되지 않는다 ㅜ

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
// [0]이거 안해줘서 백준에서 틀림
let input =Number(fs.readFileSync(filePath).toString().split('\r\n')[0]); //10

// 방법 1
let num =[0,1]

const solution =(n)=>{
  //num 배열안에서 n번째 인덱스의 값이 존재하면 return
    if(num[n]!==undefined) return num[n]
    //없으면 새롭게 추가하고 return
    num[n]=solution(n-1)+solution(n-2);
    return num[n]
	}

// 방법 2
//const solution=(n)=>{
//n이 0,1이면 그 수를 return한다. 
//    if(n<2) return n
//    return solution(n-1)+solution(n-2)
//}

console.log(solution(input))

0개의 댓글