Reply Code Challenge 2020 후기

※ 1년짜리 뒷북입니다.

4줄 요약

  1. 3050/5000점, 116/1254등
  2. 오랜만에 팀대회해서 재밌었다.
  3. 후반 집중력 저하가 심각했고, 팀 전략의 중요성을 느꼈다.
  4. 5번은 풀 수 있는데 못 풀어서 아쉽고, 3번같이 자명한 문제를 못 푸는 건 좀 문제가 있다고 생각

팀 결성

2019년 7월에 했던 천하제일 코딩대회(선린 교내 대회) 이후 오랜만에 참가한 팀 대회입니다. 선린 정올반 채팅방에 대회 공지가 올라왔고, 18학번 4명(jhnah917, solsam10, Swote, hnsk2109)이 모여서 참가했습니다.
앞 3명은 2018년 천하제일 코딩대회 때부터 팀 단위로 여러 활동을 함께 했기 때문에 서로의 스타일을 잘 파악하고 있었으며, hsnk2109도 2년 동안 같이 수업듣고 문제를 풀어왔기 때문에 어느정도 서로 실력을 알고 있었습니다.

서로 답장을 너무 안 해서 팀 이름은 No Reply Team로 정했습니다.

팀 전략에 대해 논의를 했었는데, (1) 3 Solver / 1 Coder 전략 (2) 3명이 1번 풀고 내가 나머지 다 풀기 같은 이상한 이야기만 나오길래 때려치고, 문제가 공개되면 각자 마음에 드는 문제를 잡기로 했습니다.

대회 진행

대회 초반
  • [0:00] 문제 분배 : solsam이 1번을 잡고, CTF를 좋아하는 hnsk가 4번(ROPChain), Swote가 5번, 그리고 제가 2번을 잡았습니다.
  • [0:02] 4번 풀이 : hnsk가 4번이 (어떤 문자열 알고리즘) + DP 일 것 같다는 이야기를 해서 제가 4번 풀이 구체화+코딩을 담당하기로 하고, 2번을 hsnk한테 넘겨주었습니다.
  • [0:05] 5번 아이디어 : Swote가 5번이 플로우 같다는 이야기를 했고, 제가 Swote에게 5번 문제 디스크립션 번역을 부탁했습니다.
  • [0:08] 4번 풀이 : 4번 해싱 + DP를 코딩하던 중 O(N^3) 풀이라는 것을 깨달았습니다.
  • [0:13] 2번 풀이 : hnsk에게 2번 문제 요약을 전달받았고, 투포인터 풀이를 전달해줬습니다.
  • [0:22] 4번 코딩 : 4번 풀이를 O(N^3)에서 O(N^2 log N)으로 줄이는 데 성공, 대회 시작 29분 후에 첫 AC를 받았습니다.
  • [0:32] 문제 발생 : 인터넷이 느려서 4번의 INPUT5가 다운이 안 받아졌습니다. 대신 제출해줄 사람을 찾아야 했습니다.
  • [0:35] 5번 : 5번 문제 번역본을 전달받았고, 구현이 까다로운 것을 알게 되어 나중에 풀기로 결정했습니다.
  • [0:42] 4번 : hnsk가 4번 INPUT5를 대신 제출했고, 이때부터 제출 셔틀이 되었습니다.
  • [0:43] 2번 코딩 : 제가 2번 코딩을 잡았습니다.
  • [0:51] 1번 코딩 : solsam이 1번의 INPUT1/2에서 AC를 받고, INPUT3에서 맞왜틀을 외치기 시작했습니다.
  • [0:54] 2번 코딩 : 몇 번의 뇌절 끝에 2번 코딩을 끝냈고 INPUT1/2/3/4에서 AC를 받았습니다.
  • [0:59] 2번 코딩 : 정답 코드를 넘겨받은 hnsk가 INPUT5를 대신 제출했습니다.
대회 중반
  • [1:00] 문제 분배 : 제가 3번을 잡고, 다른 팀원들은 1번을 고치기로 했습니다.
  • [1:00~1:45] 1/3번 : 저와 hnsk는 1번 디버깅과 3번 풀이 생각을 번갈아가며 했고, solsam과 Swote는 1번 디버깅에 집중했습니다.
  • [1:46] 1번 코딩 : 1번 코드의 잘못된 점을 고치고 AC를 받았습니다.
  • [1:50] 1번 코딩 : hnsk가 1번 INPUT5를 제출했습니다.
대회 후반

딱히 타임라인에 쓸 내용이 없습니다.
3번은 풀이가 안 떠오르고, 5번은 딱 봐도 무서워보여서 2시간 이상을 아무것도 못하고 있었습니다. 3번 풀이를 못 떠올리면서 멘탈이 무너졌는데, 이때 바로 5번을 잡았으면 풀 수 있지 않았을까… 생각하고 있습니다.
대회 종료 30분 후에 5번 풀이가 떠올랐는데, 2시간을 날리지 않았다면 1000점은 더 받을 수 있었다는 생각에 아쉬움이 많이 들었습니다.

5번은 풀 수 있는 문제인데 못 푼 것이 많이 아쉽고, 3번을 보면서 제가 쉬운 문제를 안정적으로 해결하지 못한다는 사실도 알게 되었습니다.

대회 결과

브루트포스로 3번에서 50점을 긁고 3050점(1000+1000+50+1000+0)으로 대회를 마무리했습니다. 3050점에 패널티 14H 16M 12S로 총 1254팀 중 116등을 차지했습니다.

경기과학고 친구들이 3등해서 상금을 받았다고 합니다. 부럽다…