728x90
반응형
이번 코딩테스트는 피보나치 수
아..근데 문제가 좀 이상하다 .
2이상의 n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하라고 해서 아래와같이 작성했더니 테스트 7번부터 실패로 나오기 시작한다.
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = n%1234567;
int F1 = 0;
int F2 = 1;
for(int i = 1; i < n; i++) {
answer = F1+F2;
F1 = F2;
F2 = answer;
}
return answer % 1234567;
}
for문으로 피보나치 수를 구한다음 for문을 빠져나오면 answer에 n 번째 피보나치 수가 있기 때문에 1234567로 나눈 나머지 값을 리턴하면 답이 맞다고 생각했는데,
이렇게 하면 계속 실패라고 나와서 피보나치 수를 answer에 담을 때 1234567로 나눈 나머지 값을 넣어보니 통과됬다.
아 이건 문제가 좀 이상한거 아닌가 ?
뭐 아무튼 아래 코드로 클리어
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int n) {
int answer = n%1234567;
int F1 = 0;
int F2 = 1;
for(int i = 1; i < n; i++) {
answer = (F1+F2) % 1234567;
F1 = F2;
F2 = answer;
}
return answer;
}
어이없다.
- 끝 -
728x90
반응형
'Programming language > 코딩테스트' 카테고리의 다른 글
코딩테스트-숫자 문자열과 영단어 (0) | 2022.10.26 |
---|---|
코딩테스트 - 3진법 뒤집기 (0) | 2022.10.12 |
코딩테스트 - 약수의 개수와 덧샘, C언어 (0) | 2022.10.02 |
코딩테스트 - 문자열 정렬하기, C 언어, 버블정렬 활용 (1) | 2022.10.01 |
코딩테스트 - 없는숫자 더하기, C언어 (0) | 2022.09.30 |