다중 테스트 케이스 문제들에서 조심해야 할 것은, 단일 테스트 케이스 문제와 달리 답을 하나만 딱 출력하고 끝내면 안 된다는 것입니다. 채점 프로그램은 그저 출력한 내용 전체가 정답 전체와 같은지를 비교할 뿐이기 때문에, 각 케이스에 대한 답 사이에 있는 개행 문자도 당연히 답 전체에 포함됩니다. 그래서 반드시! 각 케이스에 대한 답을 출력한 뒤 개행을 해주고 다음 테스트 케이스로 넘어가야 합니다. 1
// NO
cout << answer;
// YES
cout << answer << '\n';
// NO
System.out.print(answer);
// YES
System.out.println(answer);
# NO
print(answer, end='')
# YES
print(answer)
위와 같이 단순한 경우 외에 보다 실수를 잘 유발하는 케이스로는 문자열 반복 문제와 같은 경우가 있는데, 글자 단위로 반복하여 출력하는 경우 답 출력문 자체에 개행을 넣을 수 없기 때문에 모든 답 출력이 끝난 이후 개행만을 출력하는 문장을 추가로 넣어주어야 합니다.
여러 쿼리에 대한 답을 각각 출력해야 하는 문제도 마찬가지로 일반적으로 각 쿼리에 대한 답을 개별적인 줄에 출력하도록 요구하므로, 답을 하나 출력할 때마다 개행 문자를 출력하는 것을 잊지 않아야 합니다.
- https://help.acmicpc.net/judge/info의 '출력 형식이 잘못되었습니다' 부분에 언급된 바와 같이 개행 대신 공백을 출력해도 되기는 하지만, 스페셜 저지나 다른 온라인 저지에서도 된다는 보장은 없습니다. [본문으로]
'PS > 자주 하는 답변' 카테고리의 다른 글
예제가 반례입니다. (1) | 2022.12.30 |
---|---|
반복문의 조건문 안에 strlen을 넣지 마세요. (0) | 2022.12.19 |
50%에서 틀리는 것의 의미 (1) | 2022.12.13 |
제출했던 틀린 코드 전체를 그대로 올려주세요. (0) | 2022.12.13 |
PS 질문에 자주 하는 답변 (0) | 2022.11.27 |