코딩 테스트
(Java) 프로그래머스 피보나치 수
로승리
2021. 10. 19. 18:57
문제의 조건이 n번째 피보나치 수를 1234567로 나눈 나머지를 반환하라고 나와있다.
근데 이 조건을 잘못 이해하기 쉽다.
먼저 n번째 피보나치 수를 구하고 리턴전에만 나누면 된다고 생각 했는데
아무리 해도 테스트 케이스가 통과가 안되었는데
마지막에만 나누는게 아니라 매번 f(x) 의 값을 구할때마다 나눠줘야 했다...
문제의 조건을 좀 더 명확하게 표현해주면 좋을것 같다.
최종 코드
class Solution {
public int solution(int n) {
int answer = 0;
int f0 = 0;
int f1 = 1;
for(int i=2; i<=n; i++) {
answer = (f0 + f1) % 1234567;
f0 = f1;
f1 = answer;
}
return answer;
}
}