☕Language: Java
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
31
32
33
34
35
36
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.valueOf(st.nextToken());
int[] arr = new int[N + 1];
arr[0] = 0;
if (N >= 1) {
arr[1] = 1;
for (int i = 2; i <= N; i++) {
arr[i] = arr[i - 1] + arr[i - 2];
}
}
bw.write(arr[N] + "");
bw.flush();
bw.close();
}
}
|
🤔 해설
1. if (N >= 1) { ... }
- N=0일 때, arr[1]을 입력하면 ArrayIndexOutofBoundsException이 발생하므로 조건문에서 처리
2. arr[i] = arr[i - 1] + arr[i - 2];
- Fn = Fn-1 + Fn-2 (n ≥ 2)
😮 이 외의 풀이
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
31
32
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.valueOf(st.nextToken());
bw.write(fibonacci(N) + "");
bw.flush();
bw.close();
}
public static long fibonacci(int N) {
if(N==0) return N;
if(N==1) return N;
return fibonacci(N-2) + fibonacci(N-1);
}
}
|
1. fibonacci(int N)
- 재귀호출 사용
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[Programmers] 폰켓몬 (Success) (0) | 2023.09.14 |
---|---|
[BaekJoon] 1620번 나는야 포켓몬 마스터 이다솜 문제 풀이 (Success) (0) | 2023.09.12 |
[BaekJoon] 11659번 구간 합 구하기4 문제 풀이 (Success) (0) | 2023.09.10 |
[BaekJoon] 27433번 팩토리얼 2 문제 풀이 (Success) (0) | 2023.09.09 |
[BaekJoon] 11050번 이항 계수1 문제 풀이 (Success) (0) | 2023.09.08 |