TopCoder(탑코더) 를 이용하여 알고리즘 구현 실력을 테스트 해보자.
TopCoder는 알고리즘 및 디자인 구현 대회(?)를 치를 수 있는 곳이다.
이 중에 TopCoder Arena를 이용하면 ICPC나 GCJ 와 같은 대회를 치를 수 있다.
다른 점은 SRM (Single Round Match)가 자주 열린다는 것.
TopCoder를 이용하여 실전감각을 익히면서 GCJ/TCO2015를 대비해보자.
http://www.topcoder.com 에 접속한다.
Sign Up 을 눌러 가입한다. 입력하는 정보는 매우 적다.
그리고 facebook이나 구글 트위터 계정으로도 가입할 수 있다.
challenge > tocoder Arena 를 클릭.
클릭하면 ContestAppletProd.jnlp 라는 자바 애플릿을 다운 받는다.
다운 받고 실행하면, 다음의 로그인 화면이 뜬다. (이 때 자바가 깔려있지 않다면 설치과정이 있다.)
로그온하면 메인 화면이 뜬다.
Active Contests 에는 현재 활성화 된 SRM 이 나열된다.
Practice Rooms 에는 이전에 출제 되었던 문제가 나타난다. 현재는 4개의 SRM division이 존재한다.
이 중에 4 - SRM 633 DIV 2 를 클릭하면 아래와 같은 화면이 나온다.
가운데 [Select one] 콤보박스를 클릭하면 250, 500, 1000 이라는 메뉴가 뜨는데,
각각 250점, 500점, 1000점짜리 문제이다. 250을 클릭하면 다음의 화면이 나온다. 250점짜리 문제다.
기본 화면은 Problem Statement와 editor 가 상하로 분리 되어 있지만, 좌우 분리 키를 눌러서 좌우로 분리하였다.
왼쪽의 문제를 보고, 문제에 맞는 클래스를 구현하면 된다.
오른쪽 상단의 Choose your language에서 JAVA/C++/C#/VB/Python 을 선택하면 각각에 맞는 자료구조로 문제가 바뀐다. 현재는 C++로 선택되어 있어서 vector를 이용하여 입출력하는 클래스와 메소드를 구현하면 된다.
구현이 완료되면, 오른쪽 하단의 COMPILE 버튼을 눌러 컴파일을 수행한다.
컴파일이 완료되면 TEST 와 Betch Test 버튼을 이용하여 내가 짠 코드를 테스트 해 볼 수 있다.
테스트 까지 완료되었다면, SUBMIT 단추를 눌러 제출하자.
제출하면 'Submission was successful for xx.xx points' 라고 알림창이 뜬다.
빨리 제출할수록 주어진 점수에 근접한 스코어를 받는다. (해당 문제의 경우 250점이 최대 점수다.)
제출이 끝나면 Practice Option의 Run System Test를 이용하여 본인의 프로그램이 정상적으로 수행되는지 확인 할 수 있다.
이렇게 연습문제를 풀어보고, 실전을 대비하자.