문제
문제해결1
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class B2_10870 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
List<Integer> list = new ArrayList<>();
list.add(0);
list.add(1);
for (int i = 2; i <= n; i++) {
list.add(list.get(i-2)+list.get(i-1));
}
System.out.println(list.get(n));
}
}
- 문제에 나와있는 공식대로 배열에 집어넣은 후 해당 위치에 있는 수를 출력하여 풀이하였다
문제해결2
import java.util.Scanner;
public class B2_10870_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(fibonacci(n));
}
public static int fibonacci(int n){
if (n==0) return 0;
else if (n==1) return 1;
return fibonacci(n-2) + fibonacci(n-1);
}
}
- 구글링해본 결과 재귀함수로 더 간단하게 풀이가 가능했다
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 2693 N번째 큰 수 (1) | 2021.05.16 |
---|---|
자바 - 구현 - 백준 2309 일곱 난쟁이(브루트포스 알고리즘) (0) | 2021.05.14 |
자바 - 구현 - 백준 2460 지능형 기차2 (0) | 2021.05.03 |
자바 - 구현 - 백준 10818 최소, 최대 (0) | 2021.05.03 |
자바 - 구현 - 백준 3460 이진수 (0) | 2021.05.02 |