Skip to content

Commit d0c85ae

Browse files
committed
[Bronze I] Title: 피보나치 수 2, Time: 92 ms, Memory: 9344 KB -BaekjoonHub
1 parent 603cb82 commit d0c85ae

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# [Bronze I] 피보나치 수 2 - 2748
2+
3+
[문제 링크](https://www.acmicpc.net/problem/2748)
4+
5+
### 성능 요약
6+
7+
메모리: 9344 KB, 시간: 92 ms
8+
9+
### 분류
10+
11+
수학, 다이나믹 프로그래밍
12+
13+
### 제출 일자
14+
15+
2026년 3월 1일 15:03:26
16+
17+
### 문제 설명
18+
19+
<p>피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.</p>
20+
21+
<p>이를 식으로 써보면 F<sub>n</sub> = F<sub>n-1</sub> + F<sub>n-2</sub> (n ≥ 2)가 된다.</p>
22+
23+
<p>n=17일때 까지 피보나치 수를 써보면 다음과 같다.</p>
24+
25+
<p>0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597</p>
26+
27+
<p>n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.</p>
28+
29+
### 입력
30+
31+
<p>첫째 줄에 n이 주어진다. n은 90보다 작거나 같은 자연수이다.</p>
32+
33+
### 출력
34+
35+
<p>첫째 줄에 n번째 피보나치 수를 출력한다.</p>
36+
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"use strict";
2+
3+
const fs = require("fs");
4+
const input = fs
5+
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "./input.txt")
6+
.toString()
7+
.trim()
8+
.split("\n");
9+
10+
const n = +input[0];
11+
12+
const dp = new Array(n + 1).fill(0n);
13+
14+
dp[0] = 0n;
15+
dp[1] = 1n;
16+
17+
for (let i = 2; i <= n; i++) {
18+
dp[i] = dp[i - 1] + dp[i - 2];
19+
}
20+
21+
console.log(dp[n].toString());

0 commit comments

Comments
 (0)