Recent Posts
Recent Comments
게으른개발너D
[Generator] Generate Fibonacci Sequence ⭐️ 본문
https://leetcode.com/problems/generate-fibonacci-sequence/
Write a generator function that returns a generator object which yields the fibonacci sequence.
The fibonacci sequence is defined by the relation Xn = Xn-1 + Xn-2.
The first few numbers of the series are 0, 1, 1, 2, 3, 5, 8, 13.
Example 1:
Input: callCount = 5
Output: [0,1,1,2,3]
Explanation:
const gen = fibGenerator();
gen.next().value; // 0
gen.next().value; // 1
gen.next().value; // 1
gen.next().value; // 2
gen.next().value; // 3
Example 2:
Input: callCount = 0
Output: []
Explanation: gen.next() is never called so nothing is outputted
Constraints:
- 0 <= callCount <= 50
solution
/**
* @return {Generator<number>}
*/
var fibGenerator = function*() {
let first = 0;
let second = 1;
let sum = 0;
let i = 0;
while(true) {
if(i === 0 || i === 1) {
sum = i;
} else {
sum = first + second;
first = second;
second = sum;
}
yield sum;
i++;
}
};
/**
* const gen = fibGenerator();
* gen.next().value; // 0
* gen.next().value; // 1
*/
solution2
/**
* @return {Generator<number>}
*/
var fibGenerator = function*() {
let resent = 0;
let second = 1;
while(true) {
yield resent;
[resent, second] = [second, resent + second];
}
};
/**
* const gen = fibGenerator();
* gen.next().value; // 0
* gen.next().value; // 1
*/
Generator
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Generator
'알고리즘 > 과제' 카테고리의 다른 글
[Function, Closure] Allow One Function Call (함수 한 번만 호출하기) (0) | 2023.07.03 |
---|---|
[Function, Closure, Class] Counter II (closure 함수 여러개 넣기) ⭐️ (0) | 2023.07.03 |
[Promise] Promise Time Limit (feat. race) ⭐️ (0) | 2023.07.03 |
[Array] Apply Transform Over Each Element in Array (map 구현하기) (0) | 2023.07.03 |
[Array] Filter Elements from Array (filter 구현하기) (0) | 2023.07.03 |
Comments