Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_2748] 피보나치 수열2 본문

Study/Problem Solving

[BOJ_2748] 피보나치 수열2

monitor 2024. 2. 13. 23:14

설명


피보나치 수열을 구현하는 코드입니다. 당연하게도 dynamic programming 방식을 채택했고 0 1 1 2 3 5 8 ...

이전 두 개의 값을 가져와서 현재의 값으로 초기화하는 방식을 그대로 구현해서 사용했습니다. 사실, DP 문제는 아이디어 싸움이라 구현상의 어려움은 없었습니다.

코드


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        long[] dp = new long[n + 1];

        dp[0] = 0;
        if (n > 0) {
            dp[1] = 1;
        }

        for (int i = 2; i <= n; i++) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }

        System.out.println(dp[n]);
    }
}

 

 

2748번: 피보나치 수 2

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

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[BOJ_2407] 조합  (0) 2024.02.19
[BOJ_1010] 다리놓기  (0) 2024.02.14
[BOJ_1507] 궁금한 민호  (0) 2024.02.12
[BOJ_1865] 웜홀  (1) 2024.02.11
[BOJ_22865] 가장 먼 곳  (1) 2024.02.11