본문으로 바로가기

[알고리즘]피보나치 수열

category Algorithm/Array 2021. 10. 13. 22:14
728x90
반응형

▷ 문제

1. 피보나치 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.

2. 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.

* 입력

첫 줄에 총 항수 N(3<=N<=45)이 입력된다.

* 출력

첫 줄에 피보나치 수열을 출력합니다.

▷ 입력 예시

10

▷ 출력 예시

1 1 2 3 5 8 13 21 34 55

▷ 풀이

import java.util.Scanner;

public class Main {
    public int[] solution(int n){
        int[] answer = new int[n];

        for (int i = 0; i < n; i++) {
            if(i == 0 || i == 1) {
              answer[i] = 1;
            } else{
              answer[i] = answer[i-2] + answer[i-1];
            }          
        }
        
        return answer;
    }

    public static void main(String[] args) {
        Main main = new Main();
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();        
        kb.close();

        for(int x : main.solution(n)){
          System.out.print(x + " ");
        }
    }
}
반응형