프로그래밍/개발

[개발] 제 1회 엘리스 코드 챌린지 참가 후기

riroan 2023. 12. 16. 20:06

이런 대회가 열린다는 소식을 듣고 바로 신청했다. 파이썬 백엔드 엔지니어를 대상으로 한 알고리즘 및 api 기능 구현 대회였는데 모든 조건이 나와 충족했다. 대학교를 졸업하여 참가할 수 있는 대회가 많이 없는 나에겐(ㅜㅜ) 정말 좋은 기회였다.

 

예선

예선은 온라인으로 1주동안 진행됐는데 기간 내내 응시하는게 아니라 원하는 때에 3시간동안 응시하는 형식이었다.

예선은 알고리즘 + api 기능 구현이었다.

알고리즘 난이도는 코딩테스트보단 어렵고 XCPC하위 문제보단 쉬운 수준이었다. 코딩테스트에 안 쓰이는 개념도 쓰이니 모든 문제를 풀려면 대회 알고리즘도 건드려야한다.

api 문제는 기능 구현과 간단한 테크닉을 사용하여 호출시간을 최적화 하는 문제였다. 우연찮게도 내가 블로그에 쓰면서 공부한 지식들이 나와서 손쉽게 해결할 수 있었다.

그렇게 무난하게 100점을 받고 본선에 진출할 수 있었다.

 

본선

코드 챌린지 본선장

엘리스의 회사 소개를 들으며 본선 안내를 받았다. 예선을 잘 쳐서 자신감을 가지고 대회에 임했다.

본선은 모든 문제가 api기능 구현인줄 알았는데 알고리즘이 한 문제 있었다. 기쁜 마음으로 착착 풀었는데 50점에서 올라가지 않았다. 다시 보니 쉬운 문제가 아니라 굉장히 어려운 문제였다. 약간의 관찰을 하면 어떤 수상한 문제로 환원되고 이를 해결하기 위해서는 어둠의 방법을 써야 할 것 같다. 애초에 NP-Hard여서 완벽한 풀이는 불가능할 것으로 보였다. 답을 최적화할수록 점수를 높게 준다는 멘트가 있었는데 이런 뜻이었나보다. 다행히 open book(internet)이어서 레퍼런스를 참고하고 상당히 높은 점수를 받을 수 있었다.

SQL문제도 하나 있었는데 도무지 모르겠어서 넘겼다.

남은 3문제는 api기능 구현이었는데 예선과는 차원이 다른 난이도였다. 지문도 길고 테이블이 4~5개씩있고 로직도 굉장히 복잡했다. 다행히 부분점수가 있고 최적화하면 더 높은 점수를 받기 때문에 기능이라도 구현하자는 마인드로 접근했다.

이전 경험으로 미루어보아 부분점수(서브태스크)가 있는 대회는 보통 만점을 받으려고 하면 안되고 열심히 긁는게 더 낫다고 생각해서 점수 받으면 다음 문제로 넘어가는 식으로 접근했다.

 

결과

api최적화는 커녕 기능 구현도 다 마치지 못해서 기대보다 많이 낮은 점수를 받았다. 장려상, 우수상 수상자를 부르는데 내 이름이 불리지 않아 마음을 놓고 있었는데 최우수상에서 내 이름이 불렸다. 처음엔 동명이인인가? 생각했는데 내가 맞았던 것이다.

태어나서 처음하는 수상자 인터뷰도 하고 부상으로 맥북 프로를 받았다.

기념품들

너무 재미있는 대회였고 내가 모르는 api최적화 기법을 배울 수 있는 기회였다. 수상자 출전 제한이 없다면 다음에도 나가고싶다.