반응형
문제 설명
자바 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
static int[] result=new int[41];
public static void main(String[] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int testCase=Integer.parseInt(br.readLine());
result[0]=0; result[1]=1; result[2]=1;
for(int i=0;i<testCase;i++){
int n=Integer.parseInt(br.readLine());
if (n == 0) {
System.out.println("1 0");
} else if (n == 1) {
System.out.println("0 1");
} else {
fibonacci(n);
System.out.println(result[n-1]+" "+result[n]);
}
}
}
static int fibonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
if(result[n]!=0){
return result[n];
}
else{
result[n]=fibonacci(n-1) + fibonacci(n-2);
return result[n];
}
}
}
}
문제 풀이
이 문제는 결과값을 배열에 담아서 미리미리 꺼내서 사용하면 쉽게 풀 수 있습니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
백준 2579 계단 오르기 자바 (0) | 2021.07.14 |
---|---|
백준 1463 1로 만들기 자바 (0) | 2021.07.13 |
백준 2606 바이러스 자바 (0) | 2021.07.11 |
백준 2178 미로 탐색 자바 (0) | 2021.07.06 |
백준 1697 숨바꼭질 자바 (0) | 2021.07.01 |
댓글