순간을 기록으로

[Java] 피보나치 수열 | 인프런 본문

Problem Solving

[Java] 피보나치 수열 | 인프런

luminous13 2022. 4. 19. 16:35

문제

 

 

풀이

항 수를 입력하면 그만큼의 항을 가지는 피보나치수열을 출력하는 문제입니다. 피보나치 수열이란 앞선 두 개의 항을 더해서 새로운 항의 값을 가지는 수열입니다. 그렇기 때문에 첫 항과 두 번째 항의 값을 설정해 주어야 합니다. 

 

소스코드

/*
* 항 수를 입력하면 그만큼의 항 수를 가지는 피보나치 수열을 출력하세요.
* */

import java.util.Scanner;

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

        // 초깃값 설정
        fibo[0] = 1;
        fibo[1] = 1;

        // 현재 원소 값 = 앞의 두 원소 값의 합
        for (int i=2; i<n; i++) {
            fibo[i] = fibo[i-2] + fibo[i-1];
        }

        return fibo;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        for (int x : solution(n)) {
            System.out.print(x + " ");
        }
    }
}
Comments