Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 모든행과열대각선의합
- 10991
- 큰 수 출력하기
- 최대 길이
- 공통원소 구하기
- 10992
- 배열
- GitHub #Commit #BaekJoon
- 코테준비
- 아스키코드
- 보이는 학생
- Pointer
- 뒤집은 소수
- 가장 짧은 문자거리
- 임시반장 정하기
- 누적 계산
- ArrayList
- java
- 백준
- 알고리즘
- 격자판
- Two Pointer
- 점수계산
- 투 포인터
- 연속부분수열
- 두 배열 합치기
- 등수구하기
- 자바
- 인프런
- array
Archives
- Today
- Total
ezhoon
[인프런] 02_04 피보나치 수열 본문
문제
- 총 항 수 N만큼의 피보나치 수열 출력

이해
- 피보나치 수열의 개념이 먼저 필요하다. 피보나치 수열이란?
- 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
- 만약 7이 입력 된다면 1 + 1 + 2 + 3 + 5 + 8 + 13 이런 식의 수열이다.
- 하지만 첫 번째, 두 번째 항은 앞의 2개의 숫자가 1이거나 없으므로 1로 고정된다.
- N개 이지만 첫 번째, 두 번째 항은 1로 고정이므로 for문의 시작은 2부터 시작한다.
- 배열[i] = 배열[i-2] + 배열[i-1]
⚠️ 주의사항
- 첫 번째, 두번 째 항은 1 고정
- 앞의 2개의 수를 합하여 더해야한다.
풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Java_02_04 {
public int[] solution(int N) {
int answer[] = new int[N];
int num = 1;
answer[0] = answer[1] = 1;
for (int i = 2; i < N; i++) {
answer[i] = answer[i - 2] + answer[i - 1];
}
return answer;
}
public static void main(String[] args) throws IOException {
Java_02_04 T = new Java_02_04();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
for (int x : T.solution(N)) System.out.print(x +" ");
}
}

'[Java] 인프런 문제풀이 > Array(배열)' 카테고리의 다른 글
[인프런] 02_06 뒤집은 소수 (0) | 2022.01.21 |
---|---|
[인프런] 02_05 소수 (에라토스테네스 체) (0) | 2022.01.21 |
[인프런] 02_03 가위 바위 보 (0) | 2022.01.21 |
[인프런] 02_02 보이는 학생 (0) | 2022.01.21 |
[인프런] 02_01 큰 수 출력하기 (0) | 2022.01.21 |