반응형
문제 링크 / level: Bronze II
https://www.acmicpc.net/problem/10870
내가 생각한 풀이
이번에는 input의 범위가 굉장히 줄어들었다.
n의 범위가 20까지라면 재귀함수로 구현해도 충분히 모든 테스트케이스를 통과할 수 있을 것이다.
왜냐하면 재귀함수로 피보나치 수열을 구현했을 때 어쨌든 n=40정도까지는 안 터지고 돌아간다고 생각하면 되는 듯하다. (일단 내가 이클립스 상에서 돌려봤을 때는 n=45도 결과값 잘 출력됨. 다만 BOJ 문제풀이를 하면 시간 초과가 될 뿐^_^)
아무튼 그래서 피보나치 수열을 재귀함수를 이용해서 정석적으로 구현해보았다.
// 핵심 코드
private static int fibo5(int n) {
if(n<=1) {return n;}
else {
return fibo5(n-1) + fibo5(n-2);
}
}
(문제이름이 '피보나치 수 5'라서 메소드 이름을 fibo5로 했을 뿐 별다른 의미는 없다 ㅎㅎ)
역시 브론즈 문제답게 가뿐하게 해결했다.
게다가 앞에서 시간 초과로 못 써봤던 재귀함수 코드도 써볼 수 있어서 꽤나 만족스러운 문제풀이 시간이었다.😉
- 피보나치 수 시리즈는 계속된다, to be continued... -
반응형
'🥇Problem Solving (psS2mj) > BOJ' 카테고리의 다른 글
[BOJ] 1913. 달팽이 (Java) (0) | 2020.04.16 |
---|---|
[BOJ] 10757. 큰 수 A+B (Java) (0) | 2020.04.16 |
[BOJ] 2748. 피보나치 수 2 (Java) (0) | 2020.04.07 |
[BOJ] 2747. 피보나치 수 (Java) (0) | 2020.04.07 |
[BOJ] 16430. 제리와 톰 (Java) (0) | 2020.04.06 |
댓글