쇼미더코드(Show ME The Code) : (`22년 2회차) 후기

이정진·2022년 7월 6일
0

Experience

목록 보기
4/5
post-thumbnail

참여 동기

군대에서 주로 CS나 알고리즘 공부를 했었고, 전역한 이후에도 자주는 하지 못했지만 종종 알고리즘 문제를 풀고 있었고, SUAPC와 같은 알고리즘 대회에도 경험해보고 있었다.
이런 와중, 원티드에서 분기별로 진행하고 있는 쇼미더코드 공고를 보게 되었고, 채용 때 활용되는 코딩테스트 대회라고 하기에, 경험해보고자 해서 신청해보게 되었다.
기본적으로 취업과 연관되어 있는 유형의 대회라서 내 수준을 확인해볼 수 있지 않을까 하는 생각이 주였다.

쇼미더코드(Show Me The Code)

이 대회는 대회 결과에 따라 일정 점수 이상 획득한 지원자가 이력서를 제출할 경우, 인증 뱃지를 노출할 수 있도록 하는 대회로, 분기별(3월, 6월, 9월, 12월) 개최 된다고 한다.
그래서, 이번 대회부터 시간이 될 때마다 한 번씩 도전해보려고 한다.

쇼미더코드

대회 정보

BOJ 플랫폼을 이용해서 대회가 진행되며, 진행 시간은 약 3시간이다.
이번 회차는 7월 2일 14:00 ~ 17:00에 진행되었다.

문제

A번 (AC)

이 문제는 전형적인 백트래킹 유형 문제였다. 게임에서 던전을 돌 때, 던전을 어떻게 도는지 순서에 따라 다른 결과값이 도출되는데 이를 백트래킹으로 탐색하여 최적의 값을 찾으면 되는 문제였다.

난이도는 실버2쯤 되지 않을까 싶다.

아쉬운 점은 이 문제를 제일 먼저 풀었다면 대회 시작 15분 안에 AC를 받지 않았을까 싶다는 것이다.
C번 문제에 적혀 있겠지만은, C번 문제에 너무 많은 시간을 쏟다가 대회 시작 후 1시간 9분만에 해결한 것으로 스코어보드에 올라가게 되었다.
그래도, 깔끔하게 한 번에 AC받은 것으로 만족하는 문제였다

B번 (시도 X)

이 문제는 일종의 테트리스와 비슷한 느낌의 게임에 대한 구현, 시뮬레이션 유형인 것 같다.
구현하는 과정이 오래걸릴 것으로 판단하여 제일 후순위로 두고 있는 문제였다.

문제를 제대로 풀어보지도 못해 난이도를 평가할 수 없을 것 같다.

C번 문제라는 암초를 만난 관계로, 제대로 시도조차 하지 못해 아쉬움을 남기게 된 문제다.

C번 (TLE)

이 문제는 구간합 문제다. A배열과 B배열이 있고, A배열과 B배열의 특정 구간합이 일치하는 경우의 수를 찾는 문제인데, 시간제한이 1초였다. 각 배열의 최대 길이는 2 * 10^5였다.
O(N^2)이 불가능하기에, O(NlogN)가 되어야 시간제한을 만족시킬 수 있다.
난 세그먼트 트리와 투 포인터를 통해서 해당 시간 복잡도를 만족시키면서 구현이 가능하다고 판단했다.

내가 너무 어렵게 풀려고 한 것일수도 있지만, 난이도는 세그먼트 트리를 사용하기에 최소 골드2 이상은 되지 않을까 싶다.

세그먼트 트리 유형과 투 포인터를 결합시켜 알고리즘을 구현하는 과정이 숙련도가 많이 부족해서 시간만 엄청 끌다가 결국 풀지 못한 날 제일 고생시킨 문제다. 이 문제에 엄청난 정성을 쏟았는데, 결국 구현을 마무리하지 못해서 TLE만 받은 상태로 대회를 마무리하게 되었다.

후기

사실 알고리즘 대회로 처음 경험해보았던 것이 SUAPC였다.
그 당시에는 후기를 적어야지 하고 미루다 결국 작성하지 않았다.
SUAPC는 약 5시간가량 진행되는 대회이며 문제 수가 생각보다 많았고, 고인물들은 정말 많구나라는 생각을 가지게 되는 경험이었다. 그래서 이번 쇼미더코드 역시 이와 비슷하지 않을까 하면서 걱정이 많았었다. 그런 생각을 가지고 딱 대회가 시작되었는데, 대회의 문제 수가 3문제뿐이였고, 더군다나 처음 문제들을 스캔할 때 대충 감이 잡히는 것 같아 다 풀 수 있지 않을까?하는 조금의 희망도 가지고 있었다.
그러나, 역시 내 실력은 부족하다는 것은 뼈저리게 느낄 수 있었다. 고작 1솔이라니..
"알고리즘 공부 그래도 좀 한 편 아닐까?"하고 자기 합리화하고 있던 내 자신을 반성해야 할 것 같다. 이 대회를 기점으로 삼아 알고리즘 공부와 개발 공부에 조금 더 집중하고, 9월에 다시 한 번 이 대회를 도전해봐야겠다.

결과

더 잘할 수 있을 것 같은 아쉬움만 가지고 있었지만, 은손을 받게 되니 기분은 좋게 마무리하게 되었다.

0개의 댓글