알고리즘 풀이

[JAVASCRIPT] 백준 4150번 문제 풀이

Lv1_junior_dev 2022. 9. 27. 20:12

 

문제

피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다.

f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2)

정수를 입력받아, 그에 해당하는 피보나치 수를 출력하는 프로그램을 작성하여라.

예제 입력 1

100

예제 출력 1

354224848179261915075

 


❗ 풀이

let input = require('fs').readFileSync('input.txt').toString().split('\n');

let count = Number(input[0]);

let fibonacci = [0,1];

let sum = 0;

for (let i = 1 ; i <= count ; i++){
    sum = BigInt(fibonacci[0])+BigInt(fibonacci[1])
    fibonacci.shift();
    fibonacci.push(sum)
}

console.log(fibonacci[0].toString());

1. 피보나치 수를 구하기 위한 초기 배열과 합 결과를 담을 빈 배열 생성

2.count(100)번 도는 반복문 생성

3. 피보나치 배열안에 있는 수를 더하고 sum 변수에 할당

4. 피보나치 배열 shift

5. sum 변수를 피보나치 배열에 push