Post

[인프런] 피보나치 수열

[인프런] 피보나치 수열

문제 설명

피보나치 수열 출력

입력 형식

  • 정수

출력 형식

  • 정수값 나열

예제 입력 및 출력

1
2
3
**예제 1:**
입력: nums = 10
출력: 1 1 2 3 5 8 13 21 34 55

접근 방법

  • 배열로 처리
  • 첫 번째 , 두 번째 값은 배열에 미리 설정
  • 3번째 값부터 i - 1, i - 2의 합으로 구함

시간 및 공간 복잡도

  • 시간 복잡도: O(n) - n개의 피보나치 수를 순차적으로 계산
  • 공간 복잡도: O(n) - n개의 피보나치 수를 저장하는 배열 사용

코드 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
  
public class Main {
  public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    int input1 = in.nextInt();
    int[] answer = new int[input1];
    answer[0] = 1;
    answer[1] = 1;
    for(int i = 2; i < answer.length; i++){
     	answer[i] = answer[i - 1] +  answer[i - 2];
    }
    for(int num : answer){
     	System.out.print(num + " " ); 
    }
  }
}
This post is licensed under CC BY 4.0 by the author.