tpfprkem92   5년 전

초보인지라 구글, 질문검색 게시판 모두 뒤져가며 겨우겨우 코드를 짰습니다만... 시간초과라고 뜨네요 ㅠㅠ 어디가 문제인지 좀 봐주시면 감사하겠습니다!!

djm03178   5년 전

flush를 안 하면 됩니다. 채점 프로그램에게 flush를 바로바로 해줄 필요가 없기 때문에 BufferedWriter를 쓰는 건데, 매번 flush를 해버리면 의미가 없습니다. flush는 지금 당장 화면에 보이게 해야 할 때 쓰는 것입니다.

djm03178   5년 전

문제에도 적혀 있습니다.

" BufferedWriter.flush맨 마지막에 한 번만 하면 된다."

tpfprkem92   5년 전

답변 감사합니다 djm031780님!

그런데 flush를 맨마지막에 한 번만 사용하게 되면 값을 입력한 순간 결과값이 바로 출력되지 않고, 반복문을 전부 돌면서 입력값을 전부 받아뒀다가 출력을 하더라구요.

그렇다면 flush는 맨 마지막에 한 번 쓰되 바로바로 출력하게 해야되는 것 같은데, system.out.println으로 해도 안됩니다 ㅜㅜ

djm03178   5년 전

그래도 상관 없습니다. 채점 프로그램이 검사하는 건 오로지 프로그램이 실행되는 동안 출력한 전체 내용 뿐입니다. 그래서 매 테스트 케이스마다 답을 바로 볼 수 있지 못해도 상관 없습니다. 프로그램이 종료되기 전까지 모든 내용이 출력 스트림에 보내지기만 하면 됩니다.

즉, 우리가 눈으로 그 결과를 볼 수 있는지 여부는 전혀 중요하지 않고, 입력과 출력이 반드시 순서를 지켜 번갈아서 나와야 하는 것도 아닙니다.

tpfprkem92   5년 전

감사합니다 djm03178님!!!

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