잡초의 일지

[C language] 프로그래머스 | 코딩테스트 연습 -> 연습문제 -> 피보나치 수 본문

[코딩] 문제풀기/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
Comments