CodeUp Online Judge FAQ
Q. 이 사이트를 운영하는 목적과 취지는?
현재 우리나라에도 프로그래밍 문제해결 학습 사이트(일명:온라인저지)들이 제법 운영되고 있다. 하지만 대부분이 정보올림피아드나 국제대회 준비위주로 운영되기 때문에 프로그래밍 입문자나 초, 중, 고 학생들이 쉽게 접근하기에는 다소 어려움이 있다. 그래서 프로그래밍 입문자들이 쉽게 접근하여 흥미를 갖게 하고, 자기주도적인 프로그래밍 학습이 이뤄지게 하는 것이 이 사이트의 목적이다. 아주 쉬운 문제들 위주로 어려운 문제까지 차근차근 구성해 나갈 것이며, 프로그래밍 수업에 활용되길 바란다.
Q. 학교 수업에 이 사이트를 이용하고 싶다면?
정보컴퓨터 교사로서 CSL 카페 회원이고(조건), 이 사이트를 수업에 이용하고 싶으시면 admin에게 쪽지를 보내주시기 바랍니다. 교사권한을 획득하게 되면 기초 문제에 대한 [모범소스]를 조건없이 볼 수 있으며, 수업받는 학생들의 소스를 볼 수 있고, 그 학생들만 그룹 순위에 나올 수 있도록 지원해드리겠습니다. 또 수업 메뉴에서 수업을 생성하여 자신만의 수업 컨텐츠를 만들 수 있습니다. 프로그래밍 교육에 조금이나마 도움이 되길 바라는 마음입니다.
Q. 이 사이트를 운영하는 시스템 사양 및 컴파일러는?
시스템 사양 : 보안상 비공개
운영체제 : 보안상 비공개
주요 컴파일러 : C/C++ - GNU GCC/G++ 11.3, JAVA - OpenJDK 19.0.2, Python - 3.10.6, PyPy3.9.16
기타 : 이 웹 서버는 다른 용도로도 사용하고 있으므로 순간적으로 오버헤드가 발생할 수 있습니다.
컴파일 옵션은 다음과 같습니다.
| C: | gcc Main.c -o Main -O2 -fmax-errors=10 -Wall -lm --static -std=c99 -DONLINE_JUDGE |
| C++: | g++ Main.cc -o Main -fno-asm -O2 -fmax-errors=10 -Wall -lm --static -std=c++17 -DONLINE_JUDGE |
| Java: | javac -J-Xms32m -J-Xmx256m -encoding UTF-8 Main.java *Java는 채점시 2초 및 메모리 512M가 추가 됩니다. |
| Python: | python3 Main.py *Python3는 채점시 2초가 추가 됩니다. |
| PyPy3: | pypy3 Main.py *PyPy3는 채점시 2초가 추가 됩니다. |
Q. 모범 소스는 어디서 볼 수 있나요?
모범 소스는 해당 문제를 풀어야 볼 수 있습니다. 문제를 푼 후 해당 문제의 설명 옆에 [모범 소스] 메뉴가 생깁니다. 모든 문제에 모범소스가 있는 것은 아닙니다. 주로 2000번 이하 문제들입니다. 모범소스가 등록된 문제는 이 링크를 통해 확인할 수 있습니다.
Q. 입력과 출력은 어떻게 받나요?
채점을 위해서 입력은 표준입력 stdin('Standard Input')을 통해 받게 되며, 표준출력 stdout('Standard Output')에 출력하게 됩니다. 자세하게 이야기 하자면, 입력을 위해서는 'scanf(C)/cin(C++)'을, 출력을 위해서 'printf(C)/cout(C++)' 을 사용하게 됩니다. (scanf와 printf사용, fscanf와 fprintf 사용 불가)
사용자가 작성한 프로그램은 파일을 읽고 쓰는 것이 금지 되어 있으며, 이러한 경우, 실행중 에러 를 받게 됩니다.
Q. 제가 테스트 해보았을 때는 잘 돌아가는데 결과로 Compile Error가 뜹니다. 왜그럴까요?
- G++에선 main이 반드시 int형으로 선언되어야 하며, void main을 사용하게 되면 Compile Error를 받게 됩니다.
- for(int i=0...){...}와 같이 for문 안에 int변수를 선언하였을 경우 block을 벗어났을 때 i 변수는 사라지게 됩니다.
- itoa 는 ANSI 에서 규정한 표준 함수가 아닙니다.
- VC에서의 __int64는 ANSI 표준이 아닙니다. 하지만 64비트 integer 변수를 사용하기 위해 long long을 사용할 수 있습니다.
Q. 스페셜 저지(Special Judge)란 무엇인가요?
- 문제의 정답이 하나가 아니고 여러개가 될 수 있는 경우를 말합니다. 이런 문제는 별도의 채점 프로그램을 제작해야 합니다. 아직 몇몇 문제들은 스페셜 저지가 적용되지 않았습니다. 도움을 주실 분은 이 링크를 참고해주시기 바랍니다.
- 이 사이트의 스페셜 저지 문제에서는 "잘못된 풀이" 정보를 제공하지 않습니다. 이벤트성 문제, 입력이 없는 문제 또는 다른 채점데이터 없이 정답이 딱 하나로 정해져있는 문제의 경우에도 정답을 숨기기 위해 스페셜 저지로 처리합니다.
Q. 문제 분류는 어떻게 되어있나요?
| 번호 | 구분 | 비고 |
|---|---|---|
| 1001~ | 기초 문제 | 1001 ~ : 기초100제 1101 ~ : 입출력문 1151 ~ : if~else 1251 ~ : for 1351 ~ : 다중 for 1401 ~ : 1차원 배열 1501 ~ : 2차원 배열 1601 ~ : 함수 1701 ~ : 수행평가 및 쉬운 수준의 대회 1901 ~ : 재귀함수 |
| 2001~ | 중급 문제 | 약간의 문제해결력이 필요한 문제 (기존의 기초문제 중 정답률이 낮은 문제도 이 파트로 이동했습니다.) |
| 3001~ | 자료구조, 알고리즘, 문제해결전략 | 3001 ~ : 탐색 및 정렬, 기본 알고리즘 3101 ~ : 기본 자료구조(STL : stack, queue, list, vector, set, map 등) 3201 ~ : 트리 & 그래프 등 3301 ~ : 욕심쟁이 기법 3401 ~ : DFS, BFS, 백트래킹, 분할정복 등 3701 ~ : Dynamic Programming |
| 4001~ | 국내대회 | 4001 ~ : 교원프로그래밍 경진대회 기출문제 4201 ~ : 정보올림피아드 기출문제 |
| 5001~ | 해외대회 | USACO 등 |
Q. 채점 결과의 뜻은 무엇인가요?
대기 중 : 채점이 밀려서 아직 채점이 완료 되지 않은 대기 상태. 일반적으로 1분 이내에 채점이 됩니다.
재채점 중: 테스트 데이터를 새로이 고치거나 했을 경우, 해당 제출 코드를 다시 채점하게 되어 대기 상태로 들어가는 경우.
컴파일 중 : 채점을 하기 위해 컴파일 하는 중에 나타납니다.
채점 중: 채점이 진행되고 있음을 의미합니다.
정확한 풀이 : 제출한 프로그램이 모든 테스트 데이터를 통과했음을 뜻합니다.
표현 에러 : 출력 결과가 테스트 데이터와 유사하나, 공백, 빈 줄과 같은 사소한 문제로 인해 출력 결과가 일치하지 않는 경우입니다.
잘못된 풀이 : 출력 결과가 테스트 데이터와 다른 경우 입니다.
시간 초과 : 제출한 프로그램이 제한된 시간이내에 끝나지 않은 경우를 뜻합니다.
메모리 초과 : 제출한 프로그램이 허용된 메모리보다 많은 메모리를 사용했을 경우를 뜻합니다.
출력한계 초과: 예상하는 보다 많은 출력이 발생한 경우 입니다. 일반적으로 프로그램이 무한 루프에 빠졌을 경우에 일어납니다. 현재 채점 시스템에서 출력 제한은 1메가 바이트로 제한됩니다.
실행 중 에러 : 실행 도중에 'segmentation fault','floating point exception','used forbidden functions', 'tried to access forbidden memories' 등의 에러가 발생하여서 실행도중에 프로그램이 종료된 경우 입니다.
컴파일 에러 : 컴파일러가 제출한 소스코드를 컴파일 하지 못한 경우입니다. 물론 경고 메시지(warning message)는 에러 메시지로 간주하지 않습니다. 채점 결과를 클릭하면 실제 에러 메시지를 볼 수 있습니다.
Q. 블랙 리스트란 무엇인가요?
- 게시판 글 작성 금지 : 게시판에 장난성 글을 지속적으로 쓰는 사용자(관리자 판단). 적발시 차단(로그인 및 채점은 가능)
- 계정 정지 : 인터넷에 떠돌아 다니는 정답 코드를 과도하게 복-붙하는 사용자. 표적 입출력을 통해 부당하게 문제를 푸는 사용자(=치팅). 서버에 부당한 경로로 접근하는 사용자(해킹 시도). 게시판에 심한 비속어, 은어 등을 사용하는 사용자.
Q. 회원 탈퇴는 어떻게 하나요?
회원 탈퇴는 회원 정보 수정 메뉴에서 가능합니다. 단, 20문제 이상 푼 아이디는 같은 아이디로 재가입 할 수 없으며 제출된 코드가 삭제되지 않습니다.
Thanks to ...
- 서버 지원 : 한국정보컴퓨터교사카페/연구회
- 정신적 지주 : KOIstudy.net
- 채점데이터 다수 제공 : Coding is fun
- 이 서버의 전기료가 아깝지 않게 사용해주시는 모든 분들
- OJ License : GPL2.0 HUSTOJ Project TEAM