채점환경은 어떻게 되나요?

  • Ubuntu 16.04.1 LTS 64-bit

컴파일 또는 실행 옵션과 컴파일러 버젼 보러 가기

입력과 출력은 어떻게 받나요?

입력은 stdin(Standard Input)을 사용하며, 출력은 stdout(Standard Output)을 사용합니다. C언어는 scanf/printf, C++은 cin/cout 함수를 사용하면 됩니다.

절대로 불필요한 텍스트를 화면에 출력하면 안됩니다!!

예를 들면, printf("n과 m을 입력하세요"); 같은 것을 출력하면, 오답으로 간주합니다.

또한, 파일을 읽고 쓰는 것은 금지되어 있으며, 이러한 경우에는 "Runtime Error"를 받게 됩니다.

왜 컴파일 에러가 나는지 모르겠어요!

보통 이런 경우는 Visual Studio에서 코딩을 했을 때 생기는 현상입니다. GNU와 Microsoft Visual C++의 차이 떄문에 발생하는 문제인데요, 대표적으로 다음과 같은 이유가 있을 수 있습니다.

  • g++에서 main함수는 int형이어야 합니다. void main을 사용하면 컴파일 에러를 받게 됩니다.
  • for (int i=0; i<n; i++) 와 같이 for문 안에 변수를 선언 했을 때, 변수 i는 해당 for문 블럭을 벗어나면 사라지게 됩니다.
  • itoa는 ANSI에서 규정한 표준 함수가 아닙니다.
  • __int64는 ANSI 표준이 아닙니다. 하지만, 64비트 정수를 사용하고 싶은 경우에는 long long을 사용하면 됩니다.

채점 결과가 무슨 뜻이지요?

보통 이런 경우는 Visual Studio에서 코딩을 했을 때 생기는 현상입니다. GNU와 Microsoft Visual C++의 차이 떄문에 발생하는 문제인데요, 대표적으로 다음과 같은 이유가 있을 수 있습니다.

  • 기다리는 중: 채점이 밀려서 아직 채점이 되지 않은 상태입니다. 조금만 기다려 보세요.
  • 재채점을 기다리는 중: 재채점을 기다리는 중입니다.
  • 컴파일 하는 중: 컴파일 하는 중입니다.
  • 채점중: 채점을 하는 중입니다.
  • 맞았습니다!!: 제출한 프로그램이 모든 테스트 케이스를 통과했을 때 입니다. 즉, 정답입니다!
  • 출력 형식이 잘못되었습니다: 출력 결과는 정답과 유사하나, 공백, 빈 줄과 같은 문제로 인해서 출력 결과가 일치하지 않은 경우 입니다.
  • 틀렸습니다: 출력 결과가 정답과 다른 경우 입니다.
  • 시간 초과: 프로그램이 제한된 시간이내에 끝나지 않은 경우입니다. 이런 경우에는 채점을 중간에 중단하므로, 정답이 맞는지 아닌지는 알 수가 없습니다.
  • 메모리 초과: 프로그램이 허용된 메모리보다 많은 메모리를 사용했을 경우입니다.
  • 출력 초과: 너무 많은 출력이 발생하는 경우입니다. 주로 프로그램이 무한 루프에 빠졌을 때 발생합니다. 출력 제한은 1MB 입니다.
  • 런타임 에러: 실행 도중에 'segmentation fault', 'floating point exception', 'used forbidden functions', 'tried to access forbidden memories' 등의 에러가 발생하여서 프로그램이 종료된 경우 입니다.
  • 컴파일 에러: 컴파일 하지 못한 경우입니다. Warning Message는 에러 메시지가 아닙니다. 채점 결과를 클릭하면 컴파일 에러 메시지를 볼 수 있습니다.