9월 17일에 제 2회 한국항공대학교 프로그래밍 경진대회 KAUPC가 개최됐다.
출제진으로 참가한 계기
문제를 풀면서 출제자의 의도가 무엇인지 생각하다 보니, 나라면 이 알고리즘을 사용해 어떤 문제를 만들 수 있을까에 대해서 생각하게 됐다. 이런 생각이 계속되다 보니 문제 출제에 관심이 생겼고, 마침 1회 KAUPC 출제진 참여 제안을 받아 출제진으로 참가하게 됐다.
하지만, 처음이라서 그런지 좋은 문제를 만들지 못했다. 그래서 다음 대회에도 출제진으로 나가는 것에 대해 고민을 하던 중 2회 KAUPC 출제진 제안을 받게 됐다.
그동안 구상한 문제들도 있었고 작년에 비해서 더 좋은 문제들을 만들 수 있다 생각해 수락을 했고 이렇게 2회 KAUPC 출제진으로 참가하게 됐다.
문제 제작
3문제를 구상했지만, 1개만 채택됐다.
하나는 너무 눈에 보이는 웰논 문제였고, 다른 하나는 백준에 비슷한 문제가 플래 2로 있었다.
그래서 조금 바꿔봤는데 이미 릿코드에 똑같은 문제가 있어서 결국 구상한 2개 문제는 폐기했다.
나머지 한 문제가, 현대 모비스?에서 교차로 관련 문제를 보고 영감을 받아 제작한 시뮬레이션 문제였다.
그 외엔 마침 자바 언어를 공부하고 있었기에, 자바 내부 구조를 공부할 일이 많았다.
그러다 보니 좋은 소재가 생각났고 이렇게 만들어진 문제가
클래스 간의 캐스팅 가능 유무를 묻는 자바의 형 변환 문제였다.
작년에 비해 참가자들 실력이 올라갔을 거라 예상했기 때문에 문제들 난이도는 적당했을 거라 예상했다.
문제 검수
검수진 분들은 알고리즘 실력도 뛰어나고, 작문 수준도 뛰어나단 것을 다시 느끼게 됐다.
지문을 구성하면서 좀 더 다듬고 싶은데 도저히 생각이 안 나는 부분들이 많았는데, 이 가려운 부분들을 시원하게 해결해 주었다.
검수를 거치기 전엔, 그냥 그림 설명을 넣어야 하나란 생각을 했지만, 그럴 필요가 없어졌다.
하지만, 모호한 지문이었던 만큼 수정 제안도 많았다. 내가 부족한 걸 알기에 수정 제안들에 대해 긍정적으로 받아들이고 개선해 나갔지만, 내가 만든 문제들에서 수정 제안이 무척 많았다. 시뮬레이션 문제의 경우, 지문을 여러 번 갈아 엎다 보니, 아예 문제를 새로 만들까란 생각을 많이 했다. 부족한 실력으로 인해 검수진 분들 너무 고생만 시킨 거 같다.
대회 당일
스코어보드를 보고 난이도 조절에 실패했단 것을 알았다.
3명에서 2시간 정도면 E~H 사이의 문제 하나씩은 풀 수 있다고 생각을 했지만, 예상하곤 많이 달랐다.
특히 내가 만든 시뮬레이션 문제는 지문도 길고, 이해하기 어려워서 그런지 다들 시도를 거의 안 했다.
물론, 이 문제가 가장 적게 풀릴 거라 생각은 했지만, 생각보다 너무 적은 사람이 도전했기 때문에 문제를 잘못 만들었단 생각도 많이 들었다.
아마, 다음에 문제를 만들게 된다면 시뮬레이션은 안 만들 거 같고, 만들더라도 최대 실 1에 지문 2~3단락 내에 못 끊으면 만들지 않을 거 같다.
그래도 이런 실수가 있기에, 다음 대회는 좀 더 좋은 문제들이 나올 거라고 생각한다.
마치며
다음 대회에도 출제진을 참가할 수 있을까에 대해 고민이 된다. 이제 마지막 학기기 때문에, 취업을 하게 될 것이고
회사 생활을 하다 보면 그렇게 여유 시간이 많이 남지 않을 거 같다.
여유가 있어도, 출제진을 희망하는 다른 학생들이 있다면, 양보를 할 예정이다.
만약, 출제진으로 참가할 수 있다면 실버 정도의 관찰이 필요한 문제를 만들어보고 싶다. 하지만, 문제 푸는 건 쉬워도, 만드는 것은 무척 어렵기 때문에 만들 수 있단 확답은 못할 거 같다.
마지막으로, 부족한 문제임에도 꼼꼼하게 봐주신 검수진 분들에게 정말 감사한 마음을 전하고 싶다.
'알고리즘' 카테고리의 다른 글
레드 블랙 트리(red black tree) (0) | 2023.06.25 |
---|---|
이진 힙(binary heap) (1) | 2023.06.14 |
AVL 트리 (Adelson-Velsky and Landis Tree) (0) | 2023.06.11 |
이진 탐색 트리 (Binary Search Tree) (0) | 2023.06.10 |
트리, 이진트리 (1) | 2023.06.09 |