https://www.acmicpc.net/problem/1003
처음에 재귀함수로 풀었다가 시간 초과가 나타남. 하나 하나씩 필기하여서 규칙성을 찾는 것이 중요하다.
내가 생각하지 못했던 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
33
|
package dynamic;
import java.util.Scanner;
public class Fibonacci_1003 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] f = new int[41][2];
f[0][0] = 1;
f[1][1] = 1;
for (int i = 2; i < 41; i++) {
for (int j = 0; j < 2; j++) {
f[i][j] = f[i - 1][j] + f[i - 2][j];
}
}
for (int i = 0; i < n; i++) {
int d = sc.nextInt();
System.out.println(f[d][0] + " " + f[d][1]);
}
}
}
|
cs |
'프로그래밍 > Algorithm' 카테고리의 다른 글
백준 스택 - 스택 구현하기 10828 (0) | 2019.09.10 |
---|---|
백준 다이나믹프로그래밍 - 카드 구매하기2 16194 (JAVA) (0) | 2019.08.01 |
백준 다이나믹 프로그래밍 - 카드 구매하기 11052번 (JAVA) (0) | 2019.08.01 |
백준 다이나믹 알고리즘 - 1,2,3 더하기 9095 (Java) (0) | 2019.07.26 |
백준 다이나믹 알고리즘 - 2Xn 타일링 11727번 (0) | 2019.07.25 |