우당탕탕 개발일기
[javascript] 백준 1003번 피보나치 함수 본문
728x90
문제
https://www.acmicpc.net/problem/1003
당황스러운 문제 ^^! 보자마자 코드블럭은 뒤로하고 밑의 줄글을 차근차근 읽어보기로 했다.
이제 슬슬 익숙해지는 백준의 입출력값들. 첫번째 입력값은 테스트 케이스의 총 개수, 그리고 그 개수만큼의 각 테스트 케이스들!
✍🏻 풀이
더보기
첫번째 예제의 입력값
3 // 테스트 케이스의 개수 (T)
0
1
3
입력값의 첫번째가 3이므로 총 3개의 테스트 케이스들이 따라오는 것. 예제 2번도 마찬가지!
// '0이 출력되는 개수' '1이 출력되는 개수'
1 0
0 1
1 2
💡 코드
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n");
const len = input.shift(); //shift() 메서드는 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환
for (let i = 0; i < len; i++) {
const n = input[i];
// fibonacci[0], fibonacci[1]은 정해져있다!
const fibonacci = [[1, 0], [0, 1]];
for (let j = 2; j <= n; j++) {
fibonacci[j] = [
fibonacci[j-1][0] + fibonacci[j-2][0],
fibonacci[j-1][1] + fibonacci[j-2][1]
];
}
console.log(fibonacci[n].join(" "));
}
📍 참고
https://chunghyup.tistory.com/59
728x90
'What I Learned > Algorithm' 카테고리의 다른 글
[javascript] 백준 11729번 하노이 탑 이동 순서 (0) | 2022.03.31 |
---|---|
[javascript] 백준 9184번 신나는 함수 실행 (0) | 2022.03.24 |
[javascript] 백준 11050번 이항 계수 1 (0) | 2022.03.15 |
[javascript] 백준 9012번 괄호 (0) | 2022.03.10 |
[javaScript] 백준 10773번 제로 (0) | 2022.03.07 |