[알고리즘]/백준

자바 - 구현 - 백준 10870 피보나치 수 5

broship 2021. 5. 7. 17:21

문제


 

 

 

문제해결1


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class B2_10870 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        List<Integer> list = new ArrayList<>();
        list.add(0);
        list.add(1);
        for (int i = 2; i <= n; i++) {
            list.add(list.get(i-2)+list.get(i-1));
        }
        System.out.println(list.get(n));
    }
}

- 문제에 나와있는 공식대로 배열에 집어넣은 후 해당 위치에 있는 수를 출력하여 풀이하였다

 

 

문제해결2


import java.util.Scanner;

public class B2_10870_2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(fibonacci(n));
    }
    public static int fibonacci(int n){
        if (n==0) return 0;
        else if (n==1) return 1;
        return fibonacci(n-2) + fibonacci(n-1);
    }
}

출처: st-lab.tistory.com/94

- 구글링해본 결과 재귀함수로 더 간단하게 풀이가 가능했다