수(num)를 입력받아 num번째까지의 피보나치 수열을 리턴해야 합니다.
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
function fibonacci(num) {
let result = [] // 배열을 담을 그릇
for(let i = 0; i <= num; i++ ){ // for문으로 하나 하나를 찾으면서 조건에 맞게 더할 준비
if(i === 0 || i === 1){ // i이가 0일때와 i이가 1일때는 그냥 빈 배열에 넣는다
result.push(i) // 그러면 일단 result 에는 [0, 1] 만 있을 꺼다
} else { // else 지만 i 가 2부터는 result[0] + result[1]해줘서
result.push(result[i-1] + result[i-2])
// result 배열에 넣어주고 나머지 i또한 조건식 까지 계산해준다
}
}
return result 는 리턴은 result
}
사실 이 문제는 재귀함수로 풀면 더 간단하게 풀 수 있지만 좀 더 풀어 헤쳐서 디테일하고 분석하고자 하면
이 방법이 이해하기 좋다고 생각한다