퀴즈
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 |
댓글