코테/백준

[백준/JAVA] 2748번: 피보나치 수 2

imname1am 2023. 6. 6. 23:32
반응형

🔺 문제

 

2748번: 피보나치 수 2

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

 

🔺 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
import java.io.*;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        long[] dp = new long[91];
        dp[1= 1;
        
        int n = Integer.parseInt(br.readLine());
        for(int i = 2 ; i <= n ; i++) {
            dp[i] = dp[i-1+ dp[i-2];
        }
        System.out.println(dp[n]);
    }
}
cs
✅ 해결 아이디어
✔ DP (Bottom-Up)
- dp[ i ] = dp[ i - 1 ] + dp[ i - 2 ]

 

💥 유의사항

• 90번째 피보나치 수는 int형의 범위를 초과!

⇨ 따라서 dp 배열을 long형으로 선언

 

 

 

 


💬 느낀 점

90번째 피보나치 수는 int형의 범위를 초과! 한다는 사실을 잊지 말자,,,

담부턴 그냥 피보나치 수열은 long형으로 선언해야겄다

 

1회독 2회독 3회독 4회독 5회독
V        

(참고)

✔ 풀이 참고

 

[백준] 2748번 : 피보나치 수 2 – JAVA [자바]

https://www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이

propercoding.tistory.com

 

반응형