본문 바로가기

현장속으로/세미나

대학생 프로그래밍 경시대회 참가해 받은 충격

10월 29일부터 30일까지 ACM-ICPC가 대전 카이스트 문지 캠퍼스에서 열렸다. 이는 ACM(Association of Computing Machinery : 미국 컴퓨터 학회)이 주최하고, IBM이 후원하는 세계 최대 규모의 대학(원)생 대상 프로그래밍 경시대회(ICPC : International Collegiate Programming Contest)이다. 2001년부터 아시아 지역 예선 서울 대회는 KAIST와 행정안전부가 주관하여 '전국 대학생 프로그래밍 경시대회'를 겸하여 열린다.  

전국 각 대학에서 인터넷 예선을 거쳐 선발된 총 240명의 학생이 참가하여 프로그래밍 실력을 겨루었다. 3명이 한 팀을 이루어 알고리즘과 자료구조를 이용하여, 주어진 문제를 해결하는 방식으로 진행됐다.

본 대회에 앞서 열린 practice-day에서는 총 2문제가 각 팀에 제시되었다. 첫  문제는 매우 간단했다. 주어진 입력 값을 가지고 단순한 사칙연산만 하면 쉽게 풀렸다. 하지만 둘째 문제는 첫 문제와는 하늘과 땅 차이였다. 

다음 날 대회를 위해서 두뇌회전을 해주려는 의도였는지 난이도가 높았다. 출전 팀 중에서 한 팀만 문제를 해결했다.

다음날 대회는 10시부터 열렸다. 총 5시간 동안 10문제가 각 팀에 주어졌는데, 순위를 결정하는 요소는 크게 3가지였다. 첫째, 문제를 많이 풀어야 한다. 둘째, 시간이다. 같은 문제를 풀어도 누가 먼저 풀었느냐에 따라서 순위가 달라진다. 마지막으로 누가 더 적게 문제를 채점자에게 전달하느냐이다. PC2라는 툴을 이용하여 채점자에게 솔루션이 전달되면 채점자는 그 문제에 대한 적절한 솔루션인지 판단하여 YES 또는 NO라는 대답을 주는데, 여기서 푼 문제 수가 같고 시간도 같다면 누가 더 적게 솔루션을 제출했느냐에 따라서 순위가 결정된다.
10시가 되고, 대회를 알리는 종소리가 대회장을 울렸다. 문제를 받아든 팀들은 가장 쉬운 문제부터 읽기 시작하였다. 그리고 얼마 후  문제를 풀 때마다 각 팀의 컴퓨터에 풍선이 하나씩 달렸다. 풍선이 10개를 모두 받은 팀은 카이스트의 RoyalRoader 팀이었다.
내가 문제를 푼 근처에서 이 팀이 문제를 풀었는데, 정말로 놀라지 않을 수 없었다. 다른 팀은 한 문제 두 문제도 풀기 어려워 힘들어하는데 여유로운 모습의 이 팀은 순식간에 문제를 풀었다.
풍선의 개수가 늘어갈수록 대회장의 열기는 정점으로 치달았다. 이윽고 대회 종료를 30분 남겨둔 시각. 이때가 되면 실시간으로 제공되는 순위가 제공되지 않는다. 그 때문에 긴장감은 더욱 더 정점으로 치달았다. 대회의 종료를 알리는 종소리가 장내를 크게 울리자 모든 사람의 입에서 "와!!"하는 소리가 터져 나왔다. 이렇게 뜨거웠던 대회가 끝나고 ACM-ICPC 세계대회에 출전하는 RoyalRoader팀을 비롯한 총 14개의 팀에 수상의 영광이 주어졌다.

내가 속한 팀을 포함한 60여 팀은 수상의 영광을 누리지 못했다. 하지만 중요한 것은 5시간 노력한 그들의 열정이 아닐까. 집에 오는 기차에서 많은 생각을 했다. 정말로 뛰어난 사람이 많구나 하는 생각, 더욱 더 노력해야겠다는 생각까지. 내년, 그리고 그 다음에도 열정을 가진 대학생들이 만드는 멋진 ACM-ICPC 대회가 되길 기대해 본다. Ahn


대학생기자 이종현 / 숭실대 컴퓨터학부
감성이 없었던 시절 유일하게 브라운 아이즈를 참 좋아했습니다. 
그런 브라운 아이즈의 2집 앨범명은 'Reason 4 Breathing?'이었습니다. 
지금도 10년이 지난 지금도 저 자신에게 'Reason 4 Breathing?'라고 외치며 하루 하루를 가슴 떨리게 살고 있고, 그 정답을 찾을 때까지 계속 가슴 떨리게 살고 싶습니다.