자바/코드트리
[코드트리] 앞의 두 수를 더한 수열 - 자바(Java)
Jakorithm
2024. 1. 9. 00:13
728x90
문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
첫 번째 항이 0이고, 두 번째 항이 1인 수열이 있다. 이 수열의 세 번째 항부터는 바로 앞의 두 항의 합을 값으로 가진다.
n이 주어졌을 때, 이 수열에서 n + 1 번째 항을 출력한다.
코드
첫 번째 줄에 정수 n이 주어진다.
- 1 <= n <= 20
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.println(fibonacci(n));
}
// 피보나치 수를 계산하는 메소드
private static int fibonacci(int n) {
if (n <= 1) {
return n; // n이 1 이하일 경우 그대로 리턴
}
int a = 0; // 초기 피보나치 수 0
int b = 1; // 초기 피보나치 수 1
for (int i = 2; i <= n; i++) { // n이 2 이상일 경우 n번 반복
int temp = a;
a = b;
b = temp + b; // b에 a값과 b값을 더한 값 저장
}
return b;
}
}
728x90