[인프런] 피보나치 수열
[인프런] 피보나치 수열
문제 설명
피보나치 수열 출력
입력 형식
- 정수
출력 형식
- 정수값 나열
예제 입력 및 출력
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.