초등학생 때 정보올림피아드 이후로 알고리즘 대회와는 인연이 없다가 학부생이 되고 나서, 알고리즘 대회에 관심을 갖기 시작했다. 필자가 알아보고 또 참가해보니, 국내는 기업에서 주관하여 채용과 연계되는 형식의 대회들이라, 알고리즘 지식이 메인인 경우보다는 프로그래밍 사고, 경험, 개발 경험에 따른 이해도에 초점을 둔 것들이 많은 편이었다.
알고리즘을 이해하고 문제에 응용해보는 것을 백준 온라인 저지를 이용하는 편인데, 이들 문제를 풀면서 정기적으로 내 알고리즘 실력에 대해서 평가해보고 싶었다. 필자가 기존에 알고 있던 것은 구글 코드잼(CodeJam), 탑코더(TopCoder), 코드포스(Codeforces), 선데이코딩(SundayCoding)인데, 코드잼은 대회 기간이 아니고, 탑코더는 인터페이스도 어렵고 예제 문제로 나온 것들이 생각보다 어려웠다. 무엇보다 대회가 잦은 편이 아니기도 했다. 선데이코딩 같은 경우는 실제로 두 차례 참가도 했었지만, 베타 대회였고 2017년 9월 이후로 추가로 대회가 개최되지 않고 있는 상황이다. 다른 것들에 비해 코드포스는 한 달에도 수 차례 대회가 있고, Div2에서 필자의 눈에 쉽게 다가오는 문제들이 있어서 도전해볼 법하다고 생각했다.
언젠가는 참여해야겠다는 생각에 잘 준비를 하고 있는데 그 순간에 코드포스 대회가 진행중인 것이 눈에 들어와서 처음으로 참가했다. 대회는 Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined)로, Div1과 Div2의 구분 없이 진행되는 대회였다. 그래서 그런지, 후반부 문제는 쳐다볼 시간도 없었고 실제로 문제 H는 대회에서 푼 사람이 한 명도 없었다.(이래저래 결함이 있는 문제인 것도 한 몫 했다.)
솔직히 말해서, 풀 수 있을 법한 문제는 앞선 네 문제(A,B,C,D)정도라고 판단했다.
A문제
곧바로 문제를 제출해서 프리테스트를 통과했고 최종 테스트도 통과해서 득점을 인정받았다.
B문제
프리테스트를 통과했으나, 누군가에 의해서 반례가 들어와(이를 해킹이라 한다) WA(Wrong Answer)처리가 되었다.
C문제
문제 자체를 이해하는데 실패했다. 지금도 이해하지 못하고 있는 것이, 영어실력이 문제인지, 이해력의 문제인지, 차후 다시 도전해봐야 겠다.
D문제
데이터를 변경시키는 쿼리, 주어진 범위에 대한 최대공약수 조회 쿼리가 주어지고 결과값을 출력하는 프로그램으로, 세그먼트 트리로 접근했으나 데이터 업데이트 부분에서 문제가 발생해서 제출하지 못했다.
결과적으로 풀 수 있었다고 판단한 문제 4개 중에서 1개만 풀었고, 해킹당한 부분이 무엇인지 확인했지만 체력적 한계로 포기하고 자버렸다. 레이팅 점수는 1433점을 배치받아 Specialist 등급을 부여받았는데 그냥 지금 수준에 맞게 받았다고 생각한다. 며칠 뒤 있을 대회도 도전해보고 간단한 후기를 남겨볼 생각이다.
'기타 > 넋두리' 카테고리의 다른 글
2017 티스토리(Twinparadox Factory) 결산 (0) | 2018.01.05 |
---|---|
000 (0) | 2015.07.19 |