Skip to content

Commit b689736

Browse files
committed
[Bronze II] Title: 피보나치 수 5, Time: 104 ms, Memory: 14104 KB -BaekjoonHub
1 parent 27e1e56 commit b689736

2 files changed

Lines changed: 61 additions & 0 deletions

File tree

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# [Bronze II] 피보나치 수 5 - 10870
2+
3+
[문제 링크](https://www.acmicpc.net/problem/10870)
4+
5+
### 성능 요약
6+
7+
메모리: 14104 KB, 시간: 104 ms
8+
9+
### 분류
10+
11+
수학, 구현
12+
13+
### 제출 일자
14+
15+
2025년 10월 23일 09:30:11
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은 20보다 작거나 같은 자연수 또는 0이다.</p>
32+
33+
### 출력
34+
35+
<p>첫째 줄에 n번째 피보나치 수를 출력한다.</p>
36+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import java.io.BufferedReader;
2+
import java.io.IOException;
3+
import java.io.InputStreamReader;
4+
import java.util.*;
5+
6+
public class Main {
7+
8+
public static void main(String[] args) throws IOException {
9+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
10+
11+
int n = Integer.parseInt(br.readLine());
12+
if (n == 0) {
13+
System.out.println(0);
14+
return;
15+
}
16+
int[] dp = new int[n + 1];
17+
dp[0] = 0;
18+
dp[1] = 1;
19+
for (int i = 2; i <= n; i++) {
20+
dp[i] = dp[i - 1] + dp[i - 2];
21+
}
22+
23+
System.out.println(dp[n]);
24+
}
25+
}

0 commit comments

Comments
 (0)