대규모 알고리즘 대회를 운영하기 위한 가이드 (UCPC 2019 후기)
UCPC, 약 4개월의 대장정
4월 16일에 시작하여 8월 3일을 마지막으로 대회를 마쳤습니다. 물론 아직 결산과 필요한 서류 정리가 남았기에 완벽하게 마친건 아니지만 후기를 써보고자 합니다.
UCPC란?
UCPC는 전국 대학생 프로그래밍 대회 연합 동아리에서 시작한 대회로, 2011년을 시작으로 8회를 맞이한 대회입니다. 연차로 치면 9회가 되어야 하는데 2017년에 담당자가 없어 대회가 열리지 않았습니다.
1대 회장인 백준님의 말씀에 따르자면 ICPC이름을 따서 UCPC를 만들었다고 합니다. 대회 이름에서 의미를 찾는 일은 다음 문제에서 하면 좋을 것 같습니다.
대회의 대부분의 정보는 대회 공식 사이트인 ucpc-kr.github.io에 있습니다. 간략하게 설명하면 대학생 학부, 석사 학생이 3인으로 대회에 참가하는 대회입니다. 매년 장소와 스타일이 조금씩 바뀌는 듯 합니다. ICPC와 비슷하게 예선과 본선으로 진행되며 일부 원하는 내용을 적어갈 수 있는 팀노트도 허용이 되는 대회입니다.
제가 처음 참가한 UCPC 2016에서는 같은 대학교 학생만 팀을 만들 수 있고, 컴퓨터도 전부 직접 세팅며 돔저지 시스템으로 대회를 진행했습니다. 미리보는 ICPC이자 ICPC 연습대회라고 해도 무방한 대회였습니다. 하지만 올해는 작년과 같이 보다 유한 시스템으로 진행되어 ICPC 연습과 함께 마음이 맞는 사람과 팀대회를 할 수 있는 즐거운 대회로 방향을 잡았습니다.
UCPC를 시작한 이유
저는 2016년 대학교에 입학해서 C/C++로 알고리즘 공부를 시작했습니다.
그 때부터 subinium이라는 닉네임 사용했습니다. 오래하다보니 어느 정도 이름이 알려진 케이스입니다.
저보다 실력이 있는 분들이 워낙 많이 잘한다는 이야기는 못하겠습니다.
그리고 매년 조금씩 운영을 시작했습니다. 설명하는 것을 좋아하고, 나서는 것을 즐겨하는 성격 덕분에 오히려 운영이 잘 맞았던 것 같습니다.
과동아리인 AlKor에서 2017년에 부회장, 2018년 회장을 맡으며 알고리즘 공부와 더불어 스터디/대회/행사를 운영하기 시작했습니다. 참가한 대회나 행사 등의 구체적인 내용은 다음 링크에 있습니다.
가장 큼직하게 운영한 행사는 다음과 같습니다.
행사 | 일시 | 직책 | 역할 |
---|---|---|---|
고숙한(고려대, 숙명여대, 한양대) 연합캠프 | 2017 | AlKor 부회장, 강사 | 출제 및 검수 |
숭고한(숭실대, 고려대, 한양대) 연합캠프 | 2018 | AlKor 회장, 강사 | 운영, 출제 및 검수, 디자인(포스터) |
고려대학교 프로그래밍 경시대회, KCPC | 2018 | AlKor 회장 | 운영, 출제 및 검수, 디자인(포스터,홍보자료,문제지 표지) |
원래는 2018년 ICPC Hanoi 리저널을 이후로 알고리즘을 접을려고 했습니다. (물론 원래 계획되어 있는 KCPC는 이 후에 했지만..) 다음과 같은 이유가 있었습니다.
- 실적에 대한 부담감과 CP에 대한 회의감 (ex. "수빈아, 코드포스 보라색 언제찍냐, 빨리 찍자", "슬슬 상 받자")
- 더 다양한 분야의 CS를 접하고 싶은 열정
- 향후 더 심도있게 연구하고 싶은 분야를 찾기 위한 휴식
하지만 이번에는 훨씬 더 큰 대회인 UCPC를 진행을 하게 됐습니다. 여러가지 이유가 있었는데 희미한 기억을 떠올려보자면...
- 제 알고리즘 첫 온사이트는 2016년 UCPC였고, 2018년 UCPC에서 ntopia님이 정말 멋있었습니다.
- UCPC에 대한 기억이 정말 좋았습니다. 하지만 2019년에는 열려고 하는 사람이 없었습니다.
- BOJ슬랙에서 실제로 UCPC 이야기가 조금씩 나왔고, 고민을 하기 시작했습니다.
- 2018년에 진행했던 행사와 대회들 덕분에 자신감이 조금 있었습니다.
- 제가 UCPC를 진행하면, 함께할 수 있는 최고의 파트너인 현민(525hm)이가 있었습니다.
- 그래서 ntopia님과 Acka님에게 도움을 받아 시작할 수 있었습니다.
이제부터 행사를 진행하며 필요했던 내용, 반성할 부분 등 후기를 써보고자 합니다.
UCPC는 대회지만 행사입니다. 많은 요소들이 필요합니다.
큼직하게는 다음과 같은 요소들이 있습니다.
- 인적 자원
- 필요자원(feat. 스폰서와 후원)
- 온라인 운영
- 온사이트 운영
- 그 외 이슈와 느낀점
항목별로 내용과 후기, 이슈 등을 써봤습니다. 대회를 계획하는 분들에게 조오금이라도 도움이 되면 좋을 것 같습니다. 물론 미숙한 회장의 후기라 영양가가 없을 수 있습니다.
인적자원
대회의 규모가 큰 만큼 많은 분들의 도움이 필요했습니다. 혼자서 대회를 진행하는 것은 사실상 불가능합니다. 더더욱 오프라인 행사까지 준비하기 위해서는 역할 분배가 필요합니다.
아마 대회/행사에 있어 필요한 분들은 다음과 같이 나눌 수 있습니다.
- 운영진
- 출제진
- 검수진
- 참가자
- 스태프
차례차례 이야기를 해보고자 합니다.
운영진
제 첫 목표는 운영과 출제의 분리 였습니다.
저는 4학년 1학기 21학점 + SW마에스트로 + 캐글코리아 + AI페이지 관리 등으로 조금 바쁜 1학기를 보냈습니다. 추가로 PS/CP를 약 4개월 정도 쉰 상태에서 회장을 했기에 전 회장님들처럼 운영과 출제를 동시에 하기는 벅차다는 판단을 했습니다. 그러면 출제를 하지 않지만 운영에 힘써줄 수 있는 사람은 누가 있을까요?
함께 UCPC를 진행하고자 했던 현민이를 제외하고 다음과 같은 기준으로 사람을 찾았습니다.
(알고리즘 대회/행사/동아리 운영 경험자 or 알고리즘 대회 다수 경험자) and 알고리즘 대회에 관심을 가지는 현역 and !참가자 and 내가 이름을 아는 사람
이 조건에 부합하는 사람은 대부분 참가자거나, 출제진으로 부탁하고 싶은 분들이었습니다.
그래서 운영진을 더 부탁하는 것보다 좀 더 탄탄한 출제진을 모으는 것을 목표로 했습니다.
결론적으로 운영은 현민이와 제가 대부분을 담당했고, ntopia님이 작년 대회 자료를 모아주시고, Acka님이 2016 이전 자료를 모아주셔서 편하게 운영할 수 있었습니다.
예선 직전까지는 ntopia님이 바쁘실까봐 부탁을 못드렸는데 흔쾌히 도움을 주셔서 좀 많은 도움을 받았습니다. 대회 전 세팅과 행사 당일 ntopia님이 거의 1인 3역 정도를 담당해주셔서 당일은 (제가) 매우 편했습니다. (경험에서 나오는 운영은 정말 대단했습니다. 아직 제가 부족하다는 것을 많이 느끼는 하루였습니다.)
출제진
2016년 알고리즘을 시작하며 존경하던 분들이 많았습니다. 흔히 named라고 부를 수 있는 분들입니다.
그런 분들과 함께 대회를 진행할 수 있다는 점은 매우 행복했습니다. (물론 본선 대회 전날까지 얼굴을 알고 있는 분은 절반밖에 안됐습니다.)
어쩌다보니 출제진 제의는 모두 BOJ slack에서 DM으로 연락드렸는데, 다들 빠르고, 긍정적으로 답해주셔서 출제진을 모으는 것은 생각보다 수월하게 진행되었습니다. 4월 18일에 모집을 시작했고, 최종적으로 call for tasks를 통해 6월 15일(오차2일정도?)에 doju님까지 출제진이 확정되었습니다.
출제진과 함께 회의(라기보다는 출제진분들의 회의를 관전)하며 많은 부분을 배웠습니다.
- 출제진 소통은 slack(6월 4일 시작)에서, 문제 업로드는 구글 공유 드라이브에서 시작을 하였고, 문제는 후에 팀드라이브로 옮겼습니다. 저는 공유 드라이브와 slack만 초기 세팅을 해두었고, 나머지는 출제진 분들이 진행해주었습니다.
- Slack에서 토의를 진행하고, 문제별 진행현황은 Trello로 관리했습니다. 그리고 oj.uz에서 Beamer로 풀이 작성을 진행했습니다. 문제 테스트는 BOJ stack에서 진행했습니다.
- Slack에서 문제별로 채널을 만들어서 문제별 토의를 진행했고, problem에서 전체적인 셋 등을 이야기했습니다. general에서는 보통 대회 상황이나 여러 잡담을 나눴습니다.
- 개인적으로 Trello 태스크 관리가 정말 이뻤는데, 이런 세팅을 해주신 tncks0121님에게 정말 감사합니다. 그 외에도 문제지, 풀이 세팅 등도 엄청났습니다. 대회 전부터 출제진 관련 많은 조언을 해주셨는데 그것도 많은 도움이 되었습니다.
- 문제 디스크립션이나 입력 양식 등에서 doju님의 디테일이 매우 빛났습니다. 물론 문제와 풀이도 빛났습니다.
- 닉네임을 걸고 대회를 여시는 분들의 문제 퀄리티는 대단했습니다. 크리콘과 함수컵은 사랑입니다.
- 작년과 마찬가지로 UCPC에 최적의 문제를 내주신 브라이언님과 문래빗님도 최고입니다. (곰+곰)
- 다들 본인 문제 풀이를 재밌고, 깔끔하게 해주셔서 좋았습니다. 대회장에 모두 와주신 것만으로도 감사할 따름입니다.
- 다들 바쁜 일정에도 문제를 하나하나 디테일하게 체크하고, 출제해주신 kriii님, functionx님, tncks0121님, doju님, bryan님, moonrabbit2 님 정말 감사합니다.
믿고 맡길 수 있는 출제진분들이기에 저는 그 외 사항들에 더 신경쓸 수 있었습니다.
이제와서 이야기하면 Slack general채널에 알림 떠있는게 상당히 무서웠습니다. 보통 오타 등 내용 수정 요청 또는 진행 현황에 대한 의문 이었는데, 저의 부족함에 스스로 찔리는 게 많아서 그랬습니다. 하지만 덕분에 빠르게 수정할 수 있어서 대회 운영 측면에서는 좋았습니다.
그리고 실력을 좀 더 키워서 다음에는 출제를 하고 싶습니다. 역시 대회는 출제진이 가장 멋있는 것 같습니다.
그리고 문제를 보내주신 분이 한 분 더 있었으나, 제가 그 당시 너무 바빠 회신을 늦게 하여 죄송했습니다.
검수진
원래는 출제진에서 검수를 마칠 수 있지 않을까 생각하였으나, 출제진 분들이 바쁘기도 하고 이미 풀이를 아는 분들이라 fresh하게 문제를 볼 수 있는 검수진분들이 필요했습니다.
이미 예선 참가는 받은 이후라 제가 아는 대애애애부분의 사람은 참가자인 상황이었습니다. 하지만 이것도 어떻게 좋게 검수진으로 모집을 할 수 있었습니다. (올해는 운이 좋은 상황이었습니다.)
검수진은 2분은 출제진분들의 도움이 컸습니다. 저는 당시에 바빠서 약간의 카오스 상태에 빠져있었으나 출제진 분들이 'OO분은 검수진 의향이 있으신 것 같은데 물어봐주세요.' 등의 언급을 해주셔서 알게 되었습니다. 그리고 다른 2분은 제 과 동기와 선배입니다. 둘 다 제가 좋아하고 어느 정도 실력이 있는 것을 알기에 부탁을 했습니다.
문제의 대부분을 풀고 검수해주신 dotorya 님과 문제 난이도, 문제 지문 등을 검수하고 행사 당일 가장 많은 일을 담당해주신 ntopia 님, 그리고 갑작스러운 제안에 OK하고 열심히 해준 godusheep 과 Nyan101 님에게 감사합니다.
-
실수로 참가자분들에게 검수 제안을 한 케이스가 있습니다. 구글 시트에서 ctrl + f를 잘못한 탓에 확인을 못했습니다. 매우 당황했던 그 순간...
-
출제진의 문제 풀이를 공유하지 않기 위해 검수진 분들은 새로운 slack을 만들고 소통했습니다. 각자의 문제를 검수받기를 바라는 경우가 있었는데, 저는 재밌었습니다.
- 채널별로 lock을 거는 방법도 있었지만 general은 lock을 할 수 없어서 결론적으로 새로운 slack을 만들었습니다.
-
좀 아쉬운 부분은 제가 검수진을 더 빠르게 모으고, 출제진 분들에게 시간적 여유가 있었다면 문제 난이도 balance가 더 맞지 않았을까 생각이 듭니다.
- 제일 중요한 것은 참가자가 보다 즐길 수 있는 대회를 만들기 위해서는 조정이 필요합니다.
- 예상치못한 헬셋...(이었지만 저는 재미있고 좋았습니다. 저는 관전으로 즐거웠습니다.)
- 풍선 개수도 예측 실패...
-
검수가 필요한 부분은 꽤 많은데 이런 가이드라인 조차 제공하지 못해 죄송하고 아쉬웠습니다. (문제 지문, 데이터 양식, 코너케이스, 복잡도, 언어에 따른 AC 가능 여부 등등) 그렇지만 확실히 dotorya님과 ntopia님은 이런 부분을 다 알고 진행을 해주셔서 감사했습니다.
-
구글 시트로 검수표를 만들고 진행하기는 했으나, 조금 검수표의 역할이 부족했습니다.
-
검수진분들 중에서는 Nyan101님을 제외하고는 뒷풀이를 함께 못가서 아쉬웠습니다.
참가자
작년 UCPC 2018에서 좋았던 점 중 하나는 참가자의 자격이었습니다. 그래서 올해도 마찬가지로 다음 자격을 적용하였습니다.
본선일 기준으로 대학교에 재학 중이거나 대학원 석사과정에 재학 중인 학생 + 휴학생
이런 기준 덕분에 UCPC는 참가자 입장에서 좀 더 장점이 있는 대회이기도 합니다.
- ICPC 이외의 얼마 안되는 온사이트 팀대회
- 본교에 알고리즘 하는 사람이 적어도 다른 팀원을 구할 수 있음
- 휴학생과 대학원생이 참여 가능
- 서로 다른 학교 구성원끼리 대회 가능
- 팀명(이모지 가능)과 팀원 이름의 재미 (이 부분은 백준님에게 매우 감사합니다.)
- 본선팀 중에서는 안녕하세요저희는서로다른고등학교에다니다가대회팀을꾸려나오게되었습니다M이라는친구가꽐라가됐을때같이하자니까냉큼넘어오더라고요팀 과 ⭐🎉⭐ 🥇jung2381187🥇 🚀DOMINATES🚀 THE 👑©️🅾MPETITION👑 ‼️ ⭐🎉⭐ 팀이 가장 인상깊은 팀명이었습니다.
- 그리고 이상하게 유니코드 RLO를 넣은 팀이 있어 BOJ 참가자 명단의 내용이 역순이 되면서 깨지는 케이스도 존재했습니다.
- 다음에는 적어도 길이수 제한은 조금 있는게...
이 부분에서 조금 아쉬운 점이 있었다면, 애매하게 참가자격에 빗나가는 분들이 있어 아쉬웠습니다. 그래서 다음에는 참가 제한이 없는 대회를 만들면 어떨까 생각중에 있습니다. (25세 이상 컵, 학부 졸업자 대회, 등등...)
참가자는 구글 설문으로 받았습니다. 총 2번의 설문을 진행했습니다.
- 수요조사
- 등록
온라인 예선은 총 270팀(810명)이 등록하였고, 제출을 1회 이상한 팀은 244팀입니다.
그리고 이 중 48팀이 본선 진출을 하였습니다.
스태프
대회 운영에 꼭 필요한 분들입니다.
장소가 확정이 늦게 되어 스태프 공지를 늦게 올렸는데 빠르게 모집이 완료되었습니다. 총 7명의 진행 스태프와 1명의 사진 스태프입니다. 사진 스태프는 기존에 알던 기훈이형이 담당해주었고, 7명은 신청을 받았습니다. 공지를 하고 거의 2~3일만에 모집이 완료되었습니다.
사람을 모으면 일을 하기 싫어하는 분이 생기기 마련인데, 다들 옷이 다 젖을 정도로 열심히 도와주셔서 감사했습니다.(대회 시작전에는 정전이 2시간이었기에 매우 더웠습니다.) 대회가 시작하고 나서는 ntopia님이 스태프분들에게 전체적인 진행 안내를 맡아주셔서 저는 스태프분들과는 대회 시작 전과 대회 종료후에 일을 했습니다.
조금 아쉬운 점은 고려대학교에서 진행하는데 고려대 사람이 없어 장소 안내할 사람이 부족했습니다. 학교라는 장점을 더 사용하지 못한게 아쉽습니다.
필요자원(feat. 스폰서와 후원)
이제 인적 자원을 제외한 실제로 대회를 진행하기 위해 필요한 요소들이 있습니다.
- 금액
- 물품 및 식사
- 공간
- 서버
- 기획서와 예산안
그리고 본선에는 매우 다양한 내용이 필요했는데 이는 따로 서술하겠습니다. 이번에는 정말 많은 후원이 있었습니다. 아마 UCPC에서는 역대급이 아니었을까요.
- 회장을 맡았을 때, 바로 나서준 현민이(케니소프트)
- 작년과 마찬가지로 대회의 메인스폰서인 삼성전자와 삼성 SW멤버십
- 물품 중에서도 메인인 티셔츠를 담당해주신 리얼리티리플렉션
- 알고리즘 대회를 여는 것에 바로 후원을 해주신 알고스팟과 스타트링크
- 이전 UCPC 회장님인 성진님 덕분에 후원을 받은 블록체인의 비트베리
- 개인적으로 가고 싶은 회사인 AI의 마인즈랩
- 장소와 인쇄 및 물품을 후원해주신 고려대학교 SW중심대학사업단
- 개인 후원을 해주신 조승현님, 박상수님 (심지어 대회 1등도 하셨죠)
- 마지막으로 이전 이벤트로 알게되었고, 행사를 위해 소정의 책을 보내주신 인사이트 에게도 감사합니다.
금액
대회의 운영은 결국 돈이 필요합니다. 물론 많은 부분은 물품으로 후원받을 수 있지만 돈으로 받는 게 운영의 입장에서는 가장 좋습니다.
- 좀 더 효율적으로 분배 가능
- 풍선, 티셔츠 등 비교적 늦게 확정되는 경우
- 대회 당일 갑작스러운 상황 대비
- 대회 운영의 다수를 차지하는 출제비/인건비
- 최저 시급은 드릴 수 있어야 하므로...
저는 대회 초반부터 출제진에 대한 정당한 대우를 하고 싶었습니다. 왜냐면 이전까지는 출제진 분들이 시간과 노력 대비 대우를 많이 못받았기 때문입니다. (물론 제가 교내 동아리 강의/연합 동아리 행사 할 때도 마찬가지) 그렇기에 출제비를 처음부터 높게 잡았고, 출제비 후원을 받고자 노력했습니다.
하지만 대부분의 기업에서는 금액 후원을 꺼려하거나, 학생 자발적 대회에 금액이 왜 이렇게 필요하냐는 의견을 전달받았습니다.
제가 전달을 못한 부분이 있다고 생각합니다. 그렇기에 이해가 되는 부분도 있긴 하지만 개인적으로는 매우 아쉬운 답변이었습니다. 결국 이런 차이로 후원은 다른 기업에게 받게 되었습니다.
결론적으로는 출제진/검수진분들과 스탭분들에게 드릴 금액은 후원을 받았습니다. 초반 걱정과 다르게 적자는 안날 것 같습니다.
물품
제가 다녀온 프로그래밍 대회의 기준으로 생각한다면 다음과 같은 물품이 필요합니다. 이번에는 구매 및 수령에 관한 내용을 이야기해보고자 합니다. 본선 당일 진행에는 어떤 특징이 있었는지는 더 아래에 적도록 하겠습니다.
- 상품
- 풍선
- 티셔츠
- 기념품
- 인쇄물
- 행사 당일 필요 물품
- 식사 및 간식
상품
상품은 1등 1팀, 2등 2팀, 3등 3팀, 특별상 4팀이 있었습니다. 상품 지원은 삼성전자에서 해주셨습니다. 각 상품은 갤럭시탭5, 커브드모니터32인치FHD, 외장하드, 게이밍마우스입니다.
조금 제가 미스한 부분이 있다면 고려대, 저녁, 당일 비
를 고려하지 못했다는 점입니다. 모니터를 상품으로 받은 팀은 수령이 힘들다는 점을 고려했다면 후원사와 이야기를 더 나눌 수 있었을텐데 제 부주의라고 생각합니다. 저도 이거를 과방으로 나르느라 고생하긴 했습니다. 물론 대회의 재미가 추가가 되었으니 좋았습니다.
풍선
이 부분은 후원받지 못하였지만, 결론적으로 후원받은 금액으로 결제를 진행한 물품입니다. (이 부분은 ntopia님이 진행해주셨습니다.)
헬륨 풍선은 생각보다 비쌉니다. 개당 1000원 이상이고, 특별 풍선은 5000원은 훨씬 넘어갑니다.
이번 대회에는 약 400개의 풍선을 샀고, 문제별 first solver(a.k.a. 퍼솔) 풍선 총 13개를 샀습니다.
일반 풍선은 약 200개 정도의 풍선을 사용했고, 퍼솔 풍선은 9개를 사용했습니다. 나중에는 저거 타고 날 수 있겠다~ 등의 농담을 하며 놀았습니다. 개인적으로 금액적인 부분에서 손실이 커서 아쉽습니다. 구현 문제인 Taxi가 덜 풀려서 조금 아쉽습니다.
풍선 별로 색은 출제진분들과 ntopia님이 상의해서 결정하였고, 문제에 어울리는 색을 찾기 위해 노력했습니다. (후원사 비트베리는 초록색, 택시는 주황색 등) 퍼솔 풍선을 특히 열심히 논의하고 투표했는데 그 중에는 80cm 풍선도 있었습니다. 알파벳 풍선, 거대 풍선, 별 풍선 등 다양한 이야기가 있었고 결국 보다 진한 별 풍선으로 선택했습니다. 개인적으로는 만족스러운 색이었습니다. 생각보다 이걸로 열심히 논의했습니다.
풍선은 그리고 배송이 빠릅니다. 2일전에 주문했고, 제 시간에 잘 왔습니다.
또한 사진사의 말에 의하면 펄이 들어간 풍선보다 원색 풍선이 사진이 더 이쁘게 나오니 참고하세요. 😉
티셔츠
리얼리티리플렉션 에서 후원을 해주셨습니다. 후원이 필요한 품목을 지정하면 후원을 해주신다고 하여 티셔츠로 결정을 내렸습니다. 티셔츠는 알고리즘 대회 뿐만이 아니라 IT 행사의 대표적인 아이템입니다. 또한 티셔츠를 입고 행사를 진행하면 사진이 매우 이쁘게 나오고, 기념품이 될수도 있기에 매우 좋은 아이템입니다.
티셔츠는 원래 흰색에 이전 로고를 사용하려고 했으나, bryanj님의 요청으로 티셔츠를 유색으로 진행하였습니다. 색 선정에는 제 나름의 기준이 있었습니다.
- 전체 공통 : 빨강, 초록, 노랑, 파랑 등의 전체적인 컨셉색 중에서는 파랑을 선택했습니다. 눈이 덜 피로하고, 평상시에 입고 다닐 수 있고, 깔끔한 느낌을 주고 싶었습니다.
- 소라(참가자) : 참가자분들이 명도가 낮은 옷을 입으면 대회 자체가 칙칙해보입니다. 그래서 밝은 계통으로 소라색을 선택하였습니다.
- 코발트(스태프) : 참가자 분들이 쉽게 찾을 수 있지만 신경이 뺏기지 않을 색을 원했습니다. 그리고 땀이 많이 날 예정이기에 보다 진한색인 코발트를 선택했습니다.
- 곤색(운영진/출제진/검수진) : 컨셉색인 파랑에서도 가장 진한색이고, 가장 고급스러운 컬러입니다. 후에 풀이 등을 고려해서 깔끔한 곤색을 선택했습니다.
그리고 색과 함께 로고는 하얀색으로 진행을 했습니다. 저는 개인적으로 단색 로고와 무채색 로고는 깔끔한 느낌을 주기 때문에 좋아합니다.
그리고 사이즈는 빠르게 수요조사를 했고, 답장을 늦게하거나 하지 않은 팀은 제가 생각하기에 평균인 XL(100)로 통일하였습니다. 수요조사를 더 빠르게 하거나 기간이 더 길었다면 정사이즈로 드릴 수 있었을텐데 아쉬웠습니다.
티셔츠는 20수와 30수 반팔이 있었는데, 경험상 대회장에 있으면 덥고 땀이 나도 속이 비치지 않는 20수를 선택했습니다. 또한 자취를 하며 느낀 점인데 20수가 가격 차이는 얼마 안나지만 훨씬 더 오래입을 수 있습니다. (손빨래 안하는 자취생 기준)
티셔츠 선주문은 ntopia님이 도맡아해주셨고, 로고를 하얀색으로 만드는 것도 해주셨습니다. 퀵배송까지 연락을 해주셨습니다. 티셔츠별로 여유분도 일부 샀고 조금 남긴 했습니다. 후에 구데기컵이 있다면 일부를 상품으로 드릴 수 있지 않을까 생각이 듭니다.
후원사에게도 조금 보낼 수 있다면 좋겠지만, 택배보내는게 귀찮네요. (백준님은 후에 보면 드려야겠습니다.)
수요일에 아침에 주문하여 금요일 낮에 퀵으로 수령했습니다. 조금 불안했지만 제 시간내에 받아서 다행입니다.
기념품
이번에는 작년에 비해 기념품은 없었습니다. 기념품이 있다면 백준님이 기업 후원으로 주신 startlink, sunday coding, BOJ 스티커와 개인 후원으로 주신 algospot 스티커가 있었습니다.
대회 등록 시에 배치했다면 더 좋았겠지만 제가 너무 정신이 없어 그러지 못했습니다. 대회가 끝나고 일부 참가자 분들에게 나눠주긴 했지만 그래도 못받은 분들이 있을 것 같아 죄송한 마음...
인쇄물
인쇄양이 매우 많았습니다. 당일 인쇄 요청에 따른 인쇄의 양은 제가 잘 모르지만 당일에 필요한 인쇄는 다음과 같습니다.
- 문제지 60부 (각각 24장에 컬러, 장당 100원) + 담을 봉투 50장
- 명찰 속지 및 팀명 53장 (장당 4개, 총 170명 정도 분량, 컬러에 비교적 두꺼운 용지, 장당 500원)
- 엑스 배너 1개 + 거치대는 빌린 상황
이런 부분은 고려대학교 SW중심대학사업단 이 후원해주었습니다. 배너를 제외하고는 아침 9시부터 시작하여 9시 50분 정도에 수령을 완료하였습니다.
원래 자주가는 인쇄소가 있어 주말 당일 아침에 나와주실 수 있는지 부탁을 드렸고, 명찰을 자르는 작업 등을 미리 요청하였습니다. 배너 프린트 등의 이유로 본선 전날 인쇄소만 4~5번 다녀왔습니다.
전체적인 인쇄 퀄리티가 좋아서 만족스러웠습니다.
행사 당일 필요 물품
역시 가장 필요한 물품은 멀티탭 입니다. 우선 고려대학교 SW중심대학사업단 에서 지원해준 멀티탭 일부와 현민이가 가져온 멀티탭으로는 대회장 모든 노트북을 커버하기에는 부족했습니다. 결국 4개의 멀티탭을 추가 구매했고, 그래도 부족했지만 대회를 진행하는데에는 무리가 없었습니다.
식사 및 간식
식사 및 간식은 삼성 SW멤버십 에서 후원을 받았습니다. 제가 품목을 정하면 결제를 해주는 방식으로 진행되었고, 결론적으로 품목은 제가 대부분 결정했습니다.
작년의 경우 샌드위치가 별로였다는 평이 많아, 이번에는 햄버거로 진행했습니다. 원래는 감자튀김까지 세트로 진행하고 싶었으나, 감자튀김 170인분은 "죽이 된다" 라는 이야기를 들어 할 수 없었습니다. 최소 2일전에는 주문해야했고, 목요일에 주문하여 토요일 오후 1시에 수령할 수 있었습니다.
햄버거는 대부분 만족한 것 같아 좋았습니다. 간식도 대회 2일 전에 목록이 필요하다는 요청을 받아 다음 날 겨우 리스트를 만들어 보냈습니다. 매진된 품목이 많아 아쉬웠는데 그런 품목에는 생수, 에그타르트, 비타500이 있습니다.
음료는 시원한 음료를 위해 당일 근처 편의점에서 샀습니다. 정말 주말 당일 아침부터 오셔서 끝까지 기다리고 고생해주신 소멤 관리자분에게 감사합니다.
공간
공간은 다양한 후보군이 있었습니다. UCPC 2016까지는 숭실대에서 사용했습니다. 하지만 지금은 사용하기 어렵게 되었다고 합니다.(숭실대 SCCC 회장님피셜)
대회 공간은 생각보다 까다롭습니다. 공간의 조건은 다음과 같습니다.
- 간식 및 음료 섭취 가능 / 식사까지
- 3인이 한 테이블에 앉을 수 있게 가능
- 에어컨
- 3인이 자리를 어느 정도 바꿀 수 있는지
- 풍선은 배치할 수 있는지
- 멀티탭 사용 가능
- 프로젝터 및 마이크 사용가능
- 총 170명의 인원을 수용할 수 있는지
- 후원사 기업의 동의 (여러 기업이 후원하는 만큼 기업 공간 사용 자제)
조건에 맞는 공간이 별로 없다는 점이었습니다. 대부분은 접근성이 떨어지거나, 관리가 별로인 상황이었습니다. 정말 공간 30개 정도는 본 것 같은데 가용 금액 범위 내에서 사용할 수 있는 공간은 정말 얼마 없었습니다.
그래서 생각한 후보군은 한양대와 작년 장소였으나, 한양대는 올해부터 학생 지원을 하지않고, 작년 장소는 올해 초부터 운영을 더 이상하지 않는다는 것을 나중에야 알았습니다.
그러다 매우 운이 좋게 고려대학교 SW중심사업단 의 후원을 받아 고려대학교 하나스퀘어에서 진행할 수 있었습니다. 덕분에 그 장소에 멀티미디어룸, 강의실 2개, 회의실, 강당이 있다는 점을 알았습니다.
대회는 멀티미디어룸과 로비에서 진행을 하였고, 강의실 2개의 책상과 의자를 로비에 두고 대회를 진행했습니다. 강당에서 후원사 소개와 풀이, 시상식을 진행하였습니다. 마지막으로 회의실은 운영본부로 후원사에서 오신 분들과 출제진, 검수진이 있었습니다.
조금 아쉬운 점은 ...
- 늦게 공간이 확정되어 스코어보드를 띄우지 못했고, 당일 정전으로 낮에 조금 더웠습니다. 하지만 후반에는 비교적 시원해서 다행이었습니다.
- 초반에는 멀티미디어룸이 로비보다 좋을 줄 알았으나, 그건 아니었습니다. 멀티미디어에서 음료를 마실 수 없다는 점과 조금 조명이 어둡다는 점 등이 매우 아쉬웠습니다.
- 공간의 형평성을 위해서라면 돈을 빌려서라도 더 좋은 공간을 빌렸어야하나 싶지만 금액적 여유가 부족했기에 저는 최선책이라고 생각합니다. 그래도 많은 분들이 만족한 것 같으니 다행입니다.
서버
대회를 운영하기 위해서는 저지 시스템이 필요합니다. 이 방법은 총 2가지가 있습니다.
- 직접 서버 구축 (돔저지 등)
- 외부 서비스 사용
하지만 직접 서버를 구축하는 일은 매우 번거로웠고, 결론적으로 외부 서비스 사용이 확정되었습니다. 그리고 출제진과 협의 끝에 스타트링크 의 후원을 받아 BOJ를 사용했습니다. (다만 예상치못하게 예선에는 서버가...) BOJ에는 Stack이라고 대회 시스템이 있는데, 개인적으로는 좋지만 UX 면에서 몇가지 수정이 있으면 좋을 것 같습니다. 관리자인 백준님이 많이 도와주셔서 문제는 없었습니다.
온라인 운영
대회를 운영하는 포인트 중 하나는 정보를 어떻게 전달하고 수용할 것인가 입니다. 또한 예선 대회는 온라인으로 진행되기 때문에 제가 컴퓨터로 해야할 내용은 꽤 많았습니다. 예선과 그 전에 진행에 필요한 내용은 다음과 같습니다.
- 참가 등록
- 이메일 계정
- ucpc 페이스북 그룹과 전대프연 단톡
- 대회 서버
- 스코어보드 방송
참가 등록
참가 등록은 예선은 구글 독스로 진행하였고, 본선은 이메일로 재확인을 했습니다.
참가 관련에서는 몇 가지 아쉬운 점이 있습니다.
<1> 이번에는 본선 디스퀄팀이 많았습니다. 해외팀과 3명 중 일부가 못오는 팀이 있었고, 한 팀이 늦게 재학증명서를 낸 팀이었습니다. 예선과 본선의 일정이 촉박하여 발생한 일이지만 대회의 형평성을 위해서 디스퀄로 결정을 내렸습니다. 아쉬운 팀이기도 하고, 이번 대회 가장 마음이 힘들었던 일 중 하나입니다. 이 팀은 다른 대회에서는 이런 일이 없기를 기원합니다. 다음에는 이런 일을 방지하기 위해 전체 문자를 돌리는 과정을 추가해야할 듯 합니다.
<2> 추가로 대회 접수에 3명 중 2인만 온 팀이 있었습니다. 당일 아침에 병원을 갔다는 이유였고, 애매한 케이스였지만 형평성 문제로 처음에는 불가능하게 하였으나 대회 시작 2시간 이내에 올 수 있는 경우 참가를 할 수 있게 해주었습니다. 약속대로 시간내에 왔으며 다음에는 이런 부분까지도 규정을 더 보완할 수 있으면 좋겠습니다.
<3> 그리고 예선에는 팀등록을 하지 않았는데, 팀계정을 어디서 볼 수 있냐는 문의도 받았고, 대회 시작에 맞게 팀계정을 못받았다는 연락도 받았습니다. 생각하지 못한 시나리오의 일이라 당황스러웠지만 어떻게 잘 넘어간 것 같습니다.
<4> 288개의 등록이 있어 수정이 매우 어려웠습니다. 제가 엑셀을 못하는 탓이기도 합니다.
<5> 본선 등록이 총 49팀인줄 알았으나 사실 48팀이었습니다. 엑셀 수식을 잘못사용하여 이런 결과가 발생하였습니다. 이번 기회에 엑셀의 다양한 함수를 배우긴 했으니 교훈으로 삼고 있습니다. (그리고 48팀이어서 매우 좋았습니다.)
이메일 계정
이메일 계정은 총 3개를 사용했습니다.
- 개인 계정 : subinium
- UCPC 계정 : 16년까지 전대프연에서 사용한 운영 계정
- UCPC 2018 계정 : 작년 대회를 위해 사용한 운영 계정
각각은 Acka님과 ntopia님에게 받았습니다. 각각에는 2016 이전의 대회 내용, 2018 대회 내용이 있었습니다. 확실히 2018 대회가 가장 문서화되어 있었고 많은 양식을 받을 수 있었습니다.
메일 양식이나 접수 설문 등이 대부분 기록이 남아있으며, 대회 형태가 2018에 제일 유사했기에 많이 도움이 되었습니다. 단점이 있다면 복붙을 하고 수정하다가 그대로 2018 주소를 보내는 실수를 하기도 했습니다. 이런 실수는 아래에서 이야기할 대회 사이트 관리에도 있습니다..
2018 계정으로 대회를 운영할 수는 없었으므로 UCPC 계정을 사용하기로 했습니다. 2019 계정을 만드는 것보다는 기존 계정을 사용하면서 이전 대화 내용을 아카이빙하는 것이 중요하다고 생각했습니다. 아마 후에 회장도 이런 내용이 필요할 것은 마찬가지라고 생각하기 때문입니다.
종종 제 계정도 사용했는데, 그 이유는 제가 바로바로 확인할 수 있게 하기 위해서였습니다. 그러나 대부분은 ucpc 계정을 사용하여 진행했습니다. 하지만 ucpc 계정과 폰을 연동하지 않아 제가 종종 연락을 받은 내용을 즉시 확인하지 못하는 경우가 있었습니다.
이메일로는 대회 공지 및 스폰서와 연락이 위주가 되었습니다. 위와 같은 이유로 후원사와 연락은 제 메일로 할 걸 이라는 후회가 있습니다.
대회 사이트 관리 (ucpc-kr.github.io)
대회를 진행하기 위해서는 대회의 공지와 내용을 적을 수 있는 공간이 필요했습니다. 이런 홈페이지를 저는 깃헙 페이지로 관리했습니다. 여러 장점이 있었는데 다음과 같습니다.
- 따로 서버를 사서 만드는 것보다 빠르고 편하다.
- 이 블로그와 마찬가지로 깃헙 블로그는 익숙하다.
- 작년 페이지도 깃헙 페이지이고 공개되어 있기에 전체 코드를 다운로드 받을 수 있다.
결론적으로 매우 편했습니다. 하지만 제가 종종 오타를 내거나 2018 내용을 가져와서 실수하는 경우가 있었습니다. 대회 규정이나 공지를 많이 참고할 수 있어 편했지만 그만큼 실수를 많이 한 것 같습니다. 보통 doju님이 이런 부분을 말씀해주셔서 초반에는 많이 수정했습니다.
그리고 이 내용을 그대로 대회 사이트에 업데이트했습니다. 그리고 옮기면서 오타가 또 많아서 힘들었다는 후문...
페이스북 그룹과 전대프연 단톡
초반에 제일 혼란스러웠던 부분은 공지였습니다. 참가자 등록을 받지 않은 상황에서 공지를 홈페이지에만 하기에도 애매하고, 페이스북 그룹에만 하기도 애매했습니다.
결론적으로는 초반에는 세 공간에 계속 동시에 공지를 올렸습니다.
제가 새내기에 PS를 했던 때와는 다르게 PS를 하는 분들이 매우 많아졌다고 느꼈고, 전대프연 소속 동아리 수를 늘였습니다. 참가 등록이 시작하고나서는 바빠서 여러 제의를 받았지만 진행하기 어려웠습니다.다음 행사는 더 많은 학교를 포함하여 진행하면 좋을 것 같습니다. 지금 약 28개의 학교 알고리즘 동아리 회장 분들이 톡에 있습니다.
온라인 예선 서버
온라인 예선 대회 당일에는 엄청날 일이 있었습니다. 아마 대회 관련 모든 사람이 충격받은 하루가 아니었을까 생각이 듭니다. 하지만 전 여전히 BOJ는 최고의 PS 사이트라고 생각합니다. 😃
스코어보드 방송
처음으로 트위치 계정을 만들고 세팅을 했습니다. 제 채널은 subinium으로 들어오시면 됩니다.
사실 세팅 당시 전체 공개로 방송을 켜서 출제진 slack이 살짝 공개될 뻔한 적이 있습니다. 출제진 분들이 바로 대처하고, 저도 바로 확인하고 방송을 종료했으나 식겁했습니다.
물론 tncks0121님이 다른 컴퓨터에서 하거나 서버를 새로 파서 하라는 조언을 계속 해주셨지만, 제가 할 줄 몰라서 못했습니다. 역시 조언은 듣는게 좋습니다.
대회 전, 사전 방송을 세팅하시는 분들은 이런 상황을 조심하면 좋겠습니다.
어쨌든 앞으로 이걸로(+유튜브) 방송을 진행하고자 합니다. AI를 하든, PS를 하든 재밌는 방송을 하고 싶습니다.
온사이트 운영
아마 이 대회의 준비 중 가장 힘들었고, 가장 바빴던 내용입니다. 아마 온사이트 대회 운영이 힘들기에 대회를 열기가 힘든게 아닌가 생각이 듭니다. 마지막이기에 신경을 가장 많이 쓰는 날인 것 같습니다.
온사이트에는 정말 다양한 부분을 신경써야하는데 제가 생각나는 부분은 다음과 같습니다. 많은 부분은 위에서 이미 이야기했으므로 일부 내용은 간단하게만 이야기하고 넘어가겠습니다.
- 일정 조정
- 디자인
- 상품
- 식사 및 간식
- 등록 및 대회 티셔츠
- 풍선과 프린트
- 뒷정리
일정 조정 및 기본 세팅
장소가 약 본선 일주일 전에 확정되어 시간적인 부분이나, 공간적인 부분에 대한 인지가 부족했습니다.
후원사와 소통은 바로바로 이루어질 수 없기에 매일 조금씩 내용을 확인했습니다. 큰 행사인만큼 요소 하나하나를 디테일하게 챙기고 싶었습니다.
- 공간적인 측면
- 테이블/의자 위치 : 바로 옆 강의실
- 테이블/의자 개수 : 72인 멀티미티어룸(24팀) + 강의실 2개(2인 책상 46개, 의자 92개
- 멀티탭 배치 예상 : 예상보다 더 필요, 당일 4개 추가 구입
- 팀 배치 : 당일 테이블 2개 더 발견, 본선 팀 48팀으로 깔끔한 배치
- 주말 에어컨 사용 가능 여부 : 예상치 못한 오전 냉난방 중지(정전)
- 프로젝터 사용 가능 여부 : 2일 전 확인
- 시간적인 측면
- 대관 시간 : 8시부터 19시 반
- 행사 일정의 전체적인 흐름 : 시간 확정 이후 바로 출제진분들과 회의 및 투표 (기존 12시 대회 시작을 11시로 변경)
- 전날 세팅 가능 여부 : 불가능
그래도 ntopia님이 전 주에 와서 같이 체크해주셔서 마음은 편했습니다. 대회 전 날에는 그래도 어떻게든 되겠지 라는 생각이 많이 들었습니다. 이렇게 말하지만 공간 확정이 되고 매일 대회 공간으로 가서 머릿속으로 시나리오를 짜고 왔습니다. (의외로 걱정이 많은 타입ㅎㅎ)
당일에는 8시 반부터 테이블 세팅, 프린터, 엑스 배너, A4 등을 가져와 세팅을 했습니다. 9시부터 11시까지는 에어컨이 안나와서 스태프분들이 매우 고생했습니다. 그렇게 했는데도 준비가 덜 되어 결국 대회는 20분 미루게 되었습니다. (신기하게 사람이 많을 수록 대회가 딜레이되는 시간이 길어집니다.)
디자인
이번에는 총 3가지를 디자인했습니다. 셋 다 대회에 갑작스럽게 필요해서 대회 2일 전부터 시작했습니다.
디테일한 색 정하는 것 까지 포함하면 티셔츠도 포함할 수 있겠네요.
- KENNYSOFT : 현민이가 후원한 KENNYSOFT의 가로 로고를 달라고 요청했으나, 만들어달라는 적반하장에 만들었습니다. 장소 섭외와 후원에 힘을 써줘서 감사한 마음도 있었고, 쓸데없이 욕심이 생겨 2시간 정도 소모했습니다.
- 배너 : 증빙용으로 필요한 배너를 만들었습니다. 월말이라 인쇄소가 닫는다고 하여 1시간 동안 디자인했습니다. 삼성리서치가 아니라 삼성전자로고인데 실수했습니다.
- 명찰 : 이건 욕심이었습니다. 참가자분들이 닉네임을 재밌게 만들어었는데, 이걸 명찰로 만들면 추억이 될 수 있지 않을까? 기념품이 없는 만큼 이게 기념품이 될 수 있지 않을까? 라는 생각에서 만들었습니다. 그리고 출제진/검수진은 특별히 원하는 사진을 넣을 수 있도록 만들었습니다. 출제진 명찰을 일부 공개하면 다음과 같습니다.
풍선과 프린트
풍선을 어디에 달지 3일 정도 고민했는데 결론은 테이프였습니다. 후보군으로는 다이소 책 받침대(개당 1000원)가 있었습니다.
풍선은 BOJ에서 색을 적고, 팀당 위치를 기록하면 풍선을 배달하는 방식입니다. 그러나 문제가 어려워 풍선보다는 프린트가 더 배송이 많았습니다. 프린터가 꽤 큰 역할을 했는데 대회 안내사항, 개인정보제공동의서, 자리배치표, 아이디/비밀번호 등 기본적인 프린트도 할 수 있어 좋았습니다.
그리고 풍선의 경우, 퍼솔은 출제자가 직접 달아주는 이벤트를 진행했습니다. 덕분에 운영실에서는 문제가 풀릴때마다 분위기가 매우 좋았습니다. 초반에는 대회 분위기가 어수선해 B번 문제는 진행하지 못했습니다.
후원사 소개와 풀이
후원사 소개는 순서를 정하기가 애매하여 일찍 오신 순서대로 진행을 했습니다. 문제 풀이시간에는 남은 정리와 스코어보드를 위한 세팅을 한다고 많이 못봤습니다. 하지만 출제진분들이 재밌게 풀이를 진행해주셔서 흐름에는 전혀 문제가 없었습니다.
스코어보드
행사 마무리 진행은 정말 즐겁지만, 긴장됩니다. 제가 이렇게 긴장하는 데에는 여러가지 요소가 있습니다.
- 저는 그렇게 재미있는 사람은 아닙니다. icpc나 이전 ucpc만큼 재밌게 할 자신이 없었습니다.
- 영상으로 찍은 제 목소리를 들었는데 개인적으로 매우 불호인 목소리입니다. (저는 물론 제 자신을 매우 사랑합니다. 자존감이 매우 높은 1인입니다.)
- 대회가 끝나면 많은 분들이 지치고, 저도 지치기에 텐션을 올리기가 쉽지는 않습니다.
하지만 스코어보드는 생각보다 많은 분들이 좋게 반응해주셔서, 저는 매우 행복하게 대회를 마칠 수 있었습니다. ntopia님이 스코어보드 세팅을 도와주시고, bryanj님이 추첨상 코드를 짜주어서 성공적으로 시상식까지 마무리할 수 있었습니다.
ntopia님이 영상을 찍어주셔서 ntopia님 채널를 통해볼 수 있습니다. 저는 full로는 제 모습이 부담스러워서 못보겠지만, 그래도 영상이 남아서 행복합니다.
뭔가 마음에 안드는데, 어떤 부분을 고쳐야하는지는 모르겠습니다.
뒷정리
스태프분들이 기본적인 뒷정리는 워낙 빠르고 깔끔하게 잘해주셔서 편했습니다. 하지만 남은 짐은 과방으로 옮겨야하는데, 과방으로 갈 수 있는 사람이 많지 않아 불편했습니다. 참가자인 바킹독 과 같은 과 운영진 2명의 도움을 받아 정리를 할 수 있었습니다.
마무리
'앞으로 알고리즘으로 행사를 진행하면서 이렇게 좋은 분들과 함께 일할 수 있을까?' 라는 생각이 들 정도로 너무 즐거운 3개월이었습니다.
안힘들었다면 거짓말이지만, 그 힘든 모든 것을 감수할만큼 재밌었습니다. 저도 덕분에 많이 배웠던 4개월이었습니다.
그리고 항상 행사에서는 새내기부터 팬이었던 분들, 새롭게 만나보고 싶은 뉴비분들까지 많이 만날 수 있어 좋은 행사였습니다.
앞으로도 더 재밌고 즐거운 일들을 많이 만들고 싶습니다.
행사를 즐겨주신 모든 분들 감사합니다.
이제 큰 행사가 마쳤으니 인공지능과 개발, PS까지 3개의 길로 또 달려보겠습니다.