오늘(2022년 7월 1일) 오후 1시 30분부더 오후 5시까지 현대모비스 알고리즘 경진대회 예선전이 있었다.


문제 풀이

  1. Dead or Arrive : 전형적으로 map을 써서 푸는 문제. 30분 정도 걸림.

  2. 주차 시스템 : floodfill 알고리즘을 구현하는 문제. 1시간 정도 걸림.

  3. 생산 공정 : 이것도 map 써서 푸는 문제. 1시간 30분 정도 걸림.

이후 시간이 얼마 남지 않아서 나머지 문제는 풀지를 못함.


대회 운영

  • 치팅을 방지하기 위해 Ctrl+C, Ctrl+V를 막아 놓았는데 이게 상당히 불편하다. 나같은 경우에는 QtCreator IDE에서 코딩 및 디버깅을 완료하고 나서 해당 코드를 웹브라우저에 불복하려 했으니 이걸 막아 놓아서 화면 왼쪽에는 QtCreator를 화면 오른쪽에는 웹브라우저를 띄워 놓고 내가 작성한 코드를 내가 그대로 따라 치는 상황이 연출되었다. 그러는 와중에 오탈자가 와서 또다시 쓸 데 없는 디버깅(이걸로 몇 십분 소모… 부글부글). 왜 이렇게 불편하게 운영하는지 이해가 잘 안되었다. 치팅을 방지한다고 하지만 마음만 먹으면 이러한 보안 시스템도 충분히 무력화(코드를 사진으로 찍어서 친구에게 보내 주기)할 수 있으며, 솔직히 이런 대회에 참여하는 지원자들 중에 얼마나 많은 인원이 치팅을 하려고 할까 하는 의구심이 들었다(학점에 반영되는 것도 아니고).

  • Test라는 버튼을 누르면 예제에 나와 있는 Input을 가지고 Output이 제대로 나오는지 확인하는 기능이 있는데, 이 또한 불필요하다. 자신이 사용하는 IDE에서 충분히 이러한 테스트는 가능하거든.

  • "문제 풀이가 같은 경우 최종 Submit한 시간이 빠른 사람이 우선 순위를 가진다"라는 것은 대회가 끝난 뒤 알게 되었다. 좀 어이가 없었다. 대회 마감 이전에 혹시나 하는 마음에 Submit 버튼을 눌러 버렸는데, 그렇게 나도 모르게 후순위로 밀리게 되었다. 괜히 Submit 버튼을 눌렀다는 후회와 함께 대회 이전에 공지 사항을 자세히 숙지하지 않은 나를 한탄할 수 밖에 없었다.

    총 점수가 같을 경우 시험 종료순이 짧은 순으로 순위를 매긴단다. 좀 허망하다. 좀 더 문제를 풀려고 노력하다가 나중에 종료 버튼을 누르면 오히려 순위가 더 떨어진다는 얘기. 뭐 이런 경우가… 참고로 난 종료 버튼을 누르지 않고 대회를 마감했다. 이즉슨 같은 총 점수에서 가장 후순위라는 얘기.


결론

전체적인 문제는 다른 코딩 테스트(예 : 구글 코드잼) 대회와 비교하여 난이도는 그리 높지 않았다. 코테에 익숙한 사람이라면 3시간 30분이라는 제한적인 시간 내에 풀 수 있을 정도. 3문제를 풀었다고는 하나 메모리, 시간, 스택 크기 제한 등에 대해 명시가 되지 않아 제대로 문제를 푼 것인지도 모르겠고… 아무튼 본선 진출은 어차피 물건너 간 것으로 보이니 그냥 오랜만에 문제 풀이를 해봤다라는 정도로 만족하자.