[코딩] 문제풀기/C language
[C language] 프로그래머스 | 코딩테스트 연습 -> 연습문제 -> 피보나치 수
JabCho
2020. 7. 26. 05:30
728x90
반응형
SMALL
int solution(int n) { // n은 1이상 100000이하인 자연수고, 2이상의 n값이 입력된다고 가정.
int answer = 0, f0 = 0, f1=1;
for (int i=0; i<n-1; i++){
answer = f0 + f1;
f0 = f1%1234567;
f1 = answer%1234567;
}
return answer%1234567;
}
문제에서 int자료형의 범위를 넘지 않도록 %1234567을 하라고 명시하였는데,
내가 리턴할때만 하고 그 전 자료형은 신경을 안썼었다.
아무리 리턴할때 %1234567을 해도 그 전에 계산하고 있는 f0, f1들이 엄청나게 큰 숫자라면 이미 자료형의 범위를 넘게 된다.
쉬운 피보나치 수열 문제도 다시 보게 되었다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
728x90
반응형
LIST