[Programmers/JAVA] 피보나치 수
2022. 12. 2. 00:45ㆍ자바/프로그래머스
내 코드
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = 0;
int n_1=1, n_2=0;
int sum=0;
for(int i=2; i<=n; i++) {
sum=n_1+n_2;
n_2=n_1;
n_1=sum%1234567;
}
answer=n_1%1234567;
return answer;
}
느낀점
생각보다 쉬웠다. 처음 문제를 봤을 때는 무슨 말인지도 이해를 못했었다. 왜냐면 내가 1234567과 피보나치 수의 연관성을 이해하지못했었기 때문이다. 처음 코드를 짰을 때 테스트 7부터 에러가 나서 왜 그런가 했더니 수가 너무 커져서 오버플로우했기 때문이었다. 그 다음부터 1234567과의 연관성을 찾아봤고 그 결과 1234567의 나머지가 피보나치 수의 값과 동일하다는 것을 알게됐다. 연관성을 찾고나니 문제가 쉬워졌다. 뇌를 쓰는 이 기분이 좋다. 오늘도 이렇게 하나씩 배워간다.
'자바 > 프로그래머스' 카테고리의 다른 글
[Programmers/JAVA] 카펫 (0) | 2022.12.02 |
---|---|
[Programmers/JAVA] 다음 큰 숫자 (0) | 2022.12.02 |
[Programmers/JAVA] 숫자의 표현 (0) | 2022.11.30 |
[Programmers/JAVA] 이진 변환 반복하기 (0) | 2022.11.30 |
[Programmers/JAVA] 올바른 괄호 (0) | 2022.11.29 |