pkj6962   3년 전


높은 순위에 계신 개발자 분의 코드를 보았는데요. 

줄바꿈을 위해선 \n 등을 붙여야 한다고 배웠는데 위 코드대로 실행을 하니 \n 없이도 한 줄에 하나씩 출력되는 것을 볼 수 있었습니다. 

저대로라면 한 줄에 5개의 숫자가 한 번에 출력되어야 한다고 생각했습니다. 

\n 없이도 다음 줄에 출력이 가능한것인가요?

bupjae   3년 전

이 프로그램을 직접 실행해 봤더니 한 줄에 5개의 값이 나옵니다.

이 프로그램을 '맞았습니다' 라고 채점하는 건 채점 프로그램의 문제인 것 같습니다.

bupjae   3년 전

https://www.acmicpc.net/help/judge

엄밀히 이야기하면 "출력 형식이 잘못되었습니다" 를 받아야 하는 프로그램이지만, 이와 같은 경우 예외적으로 허용한다고 합니다. 

pkj6962   3년 전

감사합니다. 정리하자면 c++의 경우 데이터 입출력시 형식이 비교적 자유로워 공백을 간격으로 하든 한줄을 간격으로 하든 허용한다는 것인가요? 

bupjae   3년 전

"데이터의 입출력 형식이 자유로워..."는 관계가 없습니다.

   

원칙대로 하자면

C++ 이든 Java 이든 Python 이든 출력 결과가 5줄이 아닌 프로그램은 "맞았습니다!!"를 받으면 안 됩니다.

하지만, BOJ 채점 프로그램이 너무 오랫동안 이런 프로그램들에게 "맞았습니다!!"를 주고 있었고, 이걸 이제와서 바로잡기 어렵다고 판단한 겁니다.

BOJ 채점 프로그램의 이런 "버릇"을 이용할지는 자신의 판단입니다만

스스로 초보라고 하신 만큼, 일단은 "버릇"에 상관없이 올바른 프로그램을 제출하는 것을 권장합니다.

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