정답 코드
import java.util.Scanner;
public class Baek1003 {
public static void main(String[] args){
int T;
int n;
int[] a,b;
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
for(int i = 0 ; i < T; i++){
n = sc.nextInt();
a = new int[n+2];
b = new int[n+2];
a[0] = 1;
a[1] = 0;
b[0] = 0;
b[1] = 1;
if(n == 0)
System.out.println(1+" "+0);
else if(n==1)
System.out.println(0+" "+1);
else{
for(int j = 2 ; j < n+1; j++){
a[j] = a[j-1] + a[j-2];
b[j] = b[j-1] + b[j-2];
}
System.out.println(a[n]+" "+b[n]);
}
}
}
}
처음에 재귀함수를 이용하여 코드를 작성하였는데 시간초과가 되었다.
그래서 재귀함수대신 반복문을 사용하여 문제를 해결하였다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 1004번 자바 (0) | 2022.02.17 |
---|---|
[백준] 1002번 자바 (0) | 2022.02.17 |