thaud8487   2년 전

제 코드입니다.

YES, NO 출력하는 부분에

cout<<"YES";

cout<<"NO";    -> 이렇게 했더니 12%에서 오류발생하였고,

cout<< "YES"<<"\n";

cout<<"NO"<<"\n"; -> 줄바꿈 했더니 맞았습니다

테스트케이스 문제라서 한 테스트의 대답(YES,NO) 출력 후, 그 다음 테스트를  입력받으니까 줄바꿈은 굳이 안해도 된다고 생각했는데

왜 해야하는건가요? 넘나 궁금합니다 ...

bnb2011   2년 전

여러 개의 테스트 케이스를 입력으로 받는 문제는 매 테스트 케이스의 출력 사이에 개행을 해주는 것이 일반적입니다. 문제 예제의 출력에도 개행이 들어가 있습니다.

로컬 환경에서 실행하신 콘솔 프로그램에서는 테스트 케이스마다 공백이 들어간 것 처럼 보일 수 있지만, 그건 실제 출력하신 결과에 개행이 있어서 그런 것이 아니라 입력 자체가 여러 줄로 이루어져 있기 때문에 그렇게 보인 것 뿐입니다. 출력 예시에 개행이 포함되어 있었다면 코드를 짤 때도 당연히 개행을 해주는 것이 맞습니다.

djm03178   2년 전

채점 프로그램은 이 문제가 여러 개의 테스트 케이스를 처리하는 문제인지, 그냥 여러 줄을 출력하는 문제인지 분간하지 못합니다.

한 케이스를 입력받고 출력이 바로 이루어졌는지, 모든 케이스를 입력받고 출력이 나중에 이루어졌는지조차도 알지 못합니다. 실제로 모든 답을 저장해두었다가 나중에 몰아서 출력하더라도 상관 없습니다.

채점 프로그램은 그냥 처음부터 끝까지 출력된 총 내용이 정해진 정답과 같은지만 비교하기 때문에 개행이 반드시 필요합니다.

thaud8487   2년 전

친절한 답변 감사합니다 !!

댓글을 작성하려면 로그인해야 합니다.