반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1915 : [기초-재귀함수] 피보나치 수열 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
자연수 N이 입력된다. (N은 20보다 같거나 작다.)
출력
N번째 피보나치 수를 출력한다.
예시
- 입력 : 7
- 출력 : 13
Solution (풀이)
- 풀이 : 메모리 11160, 시간 : 66
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
loop(0, count, 1, 2); // 인덱스, 입력받은 숫자, 이전, 이후를 초기 상태로 넘기기
}
public static void loop(int index, int count, int bef, int aft) {
if (count==1 || count==2) { // count가 1,2인 경우에는 1출력 후 리턴
System.out.println(1);
return;
} else if (count ==3 ){ // count가 3인 경우에는 2출력 후 리턴
System.out.println(2);
return;
}
if (index+4>=count) { // index+4인 이유는 count가 3까지는 바로 return 하기 때문
System.out.println(bef+aft);
} else {
// index를 +1해주고, 이전 정수 bef자리에 aft를 넘기고, 이후 aft를 before와 합친다.
loop(index+1, count, aft, bef+aft);
}
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1920 : 2진수 변환 (0) | 2022.11.28 |
---|---|
[CodeUp_Java] Q1904 : 두 수 사이의 홀수 출력하기 (0) | 2022.11.25 |
[CodeUp_Java] Q1953 : 삼각형 출력하기 1 (0) | 2022.11.25 |
[CodeUp_Java] Q1990 : 3의 배수 판별하기 (0) | 2022.11.25 |
[CodeUp_Java] Q2006 : 앞으로 뒤로 (0) | 2022.11.25 |