정답 처리 됩니다.
입력 넣자마자 바로 출력되도 상관없구요. 보통 이렇게 합니다.
그리고 테스트 케이스 조건 안줘도 됩니다. 아래처럼 해보세요
int main() {
int t;
int i;
scanf("%d", &t);
for (i = 0; i < t; i++) {
int a;
scanf("%d", &a);
fibonacci(a);
printf("%d %d \n", z, k);
z = 0; k = 0;
}
}
1003번 - 피보나치 함수
정답 처리 됩니다.
입력 넣자마자 바로 출력되도 상관없구요. 보통 이렇게 합니다.
그리고 테스트 케이스 조건 안줘도 됩니다. 아래처럼 해보세요
int main() {
int t;
int i;
scanf("%d", &t);
for (i = 0; i < t; i++) {
int a;
scanf("%d", &a);
fibonacci(a);
printf("%d %d \n", z, k);
z = 0; k = 0;
}
}
그렇네요. 님이 하신 말처럼 테스트 케이스 조건이 없으니까 정답처리가 나오네요. 해결해주셔서 감사합니다.^^
제 생각엔 이 문제에서는 입력값을 아래와 같이 이렇게 주라고 나와있는데, 문제 푸는 사람 입장에서는 오해의 여지를 다분히 가질 수 있을 것 같습니다.
"첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 구성되어있다."
"첫째 줄에 N이 주어진다. N은 40보다 작거나 같은 자연수 또는 0이다."
즉, 테스트 케이스를 40개 이하로 보는 경우와, 테스트 케이스 설정 이후에 각각의 입력값을 받을 때 그 입력값들을 항상 40이하로 받아야 한다고 보는 경우로
나눠서 생각할 수도 있을 것 같네요. 그렇게 봤을 때, 저처럼 테스트 케이스를 40개 이하로 제한하는 경우로 코드를 짰다면 오답이 됩니다.
반면, 후자의 경우 코드를 짜서 실행해 봤을 때 정답 처리가 됩니다.
따라서 문제 상에 오해의 소지가 다분히 있고, 굳이 문제를 조금 수정하자면, "첫째 줄에 N이 주어진다. N은 40보다 작거나 같은 자연수 또는 0이다." 이라는 문장 대신에
"두번째 줄 부터 N이 주어진다. N은 40보다 작거나 같은 양의 정수이다." 라고 고쳐주면 조금 더 매끄럽지 않나 생각됩니다.
댓글을 작성하려면 로그인해야 합니다.
sharpnpen 6년 전
입력에 대해 출력값은 맞게 나오는데,
입력값을 받으면 바로 출력값이 나오는 형식으로 코드를 짜서, 틀렸다고 나오는 건가요??
입력값을 다 받아놓은 후에, 결과값을 한꺼번에 내놓는 건 혹시 어떻게 해야 되나요??
아무리 생각해도 코드가 떠오르질 않네요..
배열을 써야 되나요??. 도와주세요..ㅠㅠ