이런 대회가 열린다는 소식을 듣고 바로 신청했다. 파이썬 백엔드 엔지니어를 대상으로 한 알고리즘 및 api 기능 구현 대회였는데 모든 조건이 나와 충족했다. 대학교를 졸업하여 참가할 수 있는 대회가 많이 없는 나에겐(ㅜㅜ) 정말 좋은 기회였다.
예선
예선은 온라인으로 1주동안 진행됐는데 기간 내내 응시하는게 아니라 원하는 때에 3시간동안 응시하는 형식이었다.
예선은 알고리즘 + api 기능 구현이었다.
알고리즘 난이도는 코딩테스트보단 어렵고 XCPC하위 문제보단 쉬운 수준이었다. 코딩테스트에 안 쓰이는 개념도 쓰이니 모든 문제를 풀려면 대회 알고리즘도 건드려야한다.
api 문제는 기능 구현과 간단한 테크닉을 사용하여 호출시간을 최적화 하는 문제였다. 우연찮게도 내가 블로그에 쓰면서 공부한 지식들이 나와서 손쉽게 해결할 수 있었다.
그렇게 무난하게 100점을 받고 본선에 진출할 수 있었다.
본선
엘리스의 회사 소개를 들으며 본선 안내를 받았다. 예선을 잘 쳐서 자신감을 가지고 대회에 임했다.
본선은 모든 문제가 api기능 구현인줄 알았는데 알고리즘이 한 문제 있었다. 기쁜 마음으로 착착 풀었는데 50점에서 올라가지 않았다. 다시 보니 쉬운 문제가 아니라 굉장히 어려운 문제였다. 약간의 관찰을 하면 어떤 수상한 문제로 환원되고 이를 해결하기 위해서는 어둠의 방법을 써야 할 것 같다. 애초에 NP-Hard여서 완벽한 풀이는 불가능할 것으로 보였다. 답을 최적화할수록 점수를 높게 준다는 멘트가 있었는데 이런 뜻이었나보다. 다행히 open book(internet)이어서 레퍼런스를 참고하고 상당히 높은 점수를 받을 수 있었다.
SQL문제도 하나 있었는데 도무지 모르겠어서 넘겼다.
남은 3문제는 api기능 구현이었는데 예선과는 차원이 다른 난이도였다. 지문도 길고 테이블이 4~5개씩있고 로직도 굉장히 복잡했다. 다행히 부분점수가 있고 최적화하면 더 높은 점수를 받기 때문에 기능이라도 구현하자는 마인드로 접근했다.
이전 경험으로 미루어보아 부분점수(서브태스크)가 있는 대회는 보통 만점을 받으려고 하면 안되고 열심히 긁는게 더 낫다고 생각해서 점수 받으면 다음 문제로 넘어가는 식으로 접근했다.
결과
api최적화는 커녕 기능 구현도 다 마치지 못해서 기대보다 많이 낮은 점수를 받았다. 장려상, 우수상 수상자를 부르는데 내 이름이 불리지 않아 마음을 놓고 있었는데 최우수상에서 내 이름이 불렸다. 처음엔 동명이인인가? 생각했는데 내가 맞았던 것이다.
태어나서 처음하는 수상자 인터뷰도 하고 부상으로 맥북 프로를 받았다.
너무 재미있는 대회였고 내가 모르는 api최적화 기법을 배울 수 있는 기회였다. 수상자 출전 제한이 없다면 다음에도 나가고싶다.
'프로그래밍 > 개발' 카테고리의 다른 글
[개발] 클라우드에 대해 알아보기 (1) | 2024.04.24 |
---|---|
[개발] 2024 카카오 겨울 인턴쉽 + 전환 후기 (5) | 2024.04.19 |
[개발] 주니어 개발자의 우당탕탕 MSA 전환기 - Nexus 편 (0) | 2023.12.13 |
[개발] RDB에서 Incremental PK와 UUID PK (2) | 2023.12.05 |
[개발] 주니어 개발자의 우당탕탕 MSA 전환기 - DB 편 (1) | 2023.09.04 |