본문 바로가기
Java Script/JS basic

JS] 피보나치 퀴즈

by CodeMia 2021. 8. 16.

퀴즈

 

Fibonacci was an Italian mathematician who came up with the Fibonacci sequence:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144....

Where every number is the sum of the two previous ones. 

e.g. 0, 1, 1, 2, 3, 5 comes from 

0 + 1 = 1

1 + 1 = 2

1 + 2 = 3

2 + 3 = 5

etc. 

 

Create a function where you can call it by writing the code:

fibonacciGenerator(n)

 

Where n is the number of items in the sequence. 

So I should be able to call:

fibonacciGenerator(3) and get [0, 1, 1] as the output.

 

IMPORTANT: The solution checker is expecting an array as the correct output. 

The first two numbers in the sequence must be 0 and 1. 

Also, if you decide to create a for loop, make sure you explicitly specify var i = 0 rather than simply writing i=0. This is a quirk of the testing suite. 

 

 


 

많은 방법이 있지만 그 중에 하나를 가르쳐 주심

 

플로우 차트

 

 

 

선생님 답안 

과정1)

else에서 0일 때 1일 때가 그냥 해당 번호로 정해져 버렸다. 

내가 나중에 혼자 해볼 때

n === 1 일 때 

output.push(0);

n === 2 일 때

output.push(0, 1); 로 입력해 보았다. 질됨.

 

 

어떻게 하면 이전 숫자, 이전전 숫자를 더할 수 있을까?

function fibonacciGenerator(n) {
    var output = [];
    if(n===1) {
        output = [0];
    } else if(n===2) {
        output = [0, 1];
    } else {
        output = [0, 1];

        for (var i = 2; i< n; i++) {
        output.push(output[output.length-2] + output[output.length-1]);
     }
    }
    return output;
}

output = fibonacciGenerator(10);
console.log(output);

 

output = fibonacciGenerator(10);을

그냥 fibonacciGenerator(10);로만 호출해도 같은 결과가 나오는데 

굳이 output에 함수를 담아야하나? 

 

 

실패 케이스

output[이전전 아이템] +output[이전 아이템]을 더할 때 

output.length로 하지 않고 그냥 n을 넣었더니 안된다..

 

 

 

 

 

'Java Script > JS basic' 카테고리의 다른 글

JS] 주사위게임  (0) 2021.08.23
JS] 웹사이트에 자바스크립트 추가하는 법  (0) 2021.08.17
JS] 99 bottles of beer 퀴즈  (0) 2021.08.15
JS] While Loops, For Loops  (0) 2021.08.15
JS] 누가 점심낼까? 퀴즈  (0) 2021.08.15

댓글