aotoyae

[JS] 코딩테스트 : 피보나치 수열 구하기 본문

Coding Test

[JS] 코딩테스트 : 피보나치 수열 구하기

aotoyae 2023. 12. 29. 16:56

 

 

💡 while 문 사용

let i = 1;
let curr = 1; // 현재 항
let prev = 0; // 직전 항

while (i <= 50) {
  console.log(curr)
  let temp = prev
  prev = curr
  curr += temp
  i++;
}

// 1
// 1
// 2
// 3
// 5
// ...
// 7778742049
// 12586269025

 

 

💡 for 문 사용

let prev = 0;
let curr = 1;

for (let i = 1; i <= 50; i++) {
  console.log(curr);
  let temp = prev;  // prev를 임시 보관소 temp에 저장
  prev = curr;
  curr += temp;  // temp에는 기존 prev 값이 저장돼 있음
}

// 위 코드 결과와 동일

 

❗️ 아래 코드가 잘못 작성했던 코드 🥵 

❗️ prev 를 다른 변수로 복사해두지 않으면 curr 로 덮어져서 수열의 직전 값이 사라진다.