티스토리 뷰
대학생을 대상으로 열리는 알고리즘 대회는 icpc를 제외하면 주로 여름 방학 시즌에 맞춰서 열리는 것 같다. 학부생이 된 시점부터 따지면 벌써 6년째 학부생이긴 한데, 어쨌든 휴학생도 대회는 참여할 수 있으니 이번 시즌에도 가벼운 마음으로 참가했다. 시간순으로 나열하면,
8월 01일: UCPC 본선
8월 21일: SCPC 1차 예선
8월 23일: 구글 코드잼 킥스타트 라운드 E
8월 29일: 브랜디 코드네임B 1차대회(예선)
8월 30일: 코드포스 라운드 #666 (Div1)
9월 05일: SCPC 2차 예선, 브랜디 코드네임B 2차대회(본선)
9월 08일: 코드포스 라운드 #669 (Div2)
적고 보니 꽤 많이 참가했다. 코드포스야 뭐 정기적으로 열리는 거지만...아무튼 짧게 짧게 감상을 써보자
UCPC
전국 대학생 프로그래밍 동아리 연합회에서 주최하는 ICPC 스타일의 대회다. 3인 1팀으로 구성되는데 친구 한명과 친구의 친구 한분과 같이 하게 되었다.
대회 외적으로 해프닝이 몇가지 있었는데, 먼저 예선이 BOJ 대회 플랫폼에서 온라인으로 진행됐는데, 대회 시작하자마자 서버가 터져서 몇십분 딜레이되다가 결국 문제를 pdf 형식으로 이메일로 브로드캐스팅 한 뒤 시간 제한을 12시간으로 늘리고 일정 문제 이상 푼 팀은 전부 본선 진출로 바뀌었다. 서버 터지는거야 어쩔 수 없지만, 터졌을 때 대응책을 미리 세워뒀으면 어땠을까 하는 아쉬움도 있고, 전대프연 자체가 애초에 거진 해당 분야 관심 있는 사람의 희생으로 돌아가는 것 같아 그런걸 기대하는 것도 미안한 느낌도 있다.
본선은 (대회 운영진과 관계없는) 좀 더 큰 사고가 있었는데, 팀대회다 보니까 아무래도 오프라인에서 만나서 하면 좋겠다 싶어 여러 장소를 찾아봤고 토즈 3인실을 대여하거나, 친구가 다니는 회사의 외부인 출입 가능 장소에서 진행하는 옵션이 있었다. 8월 초여서 지금만큼 코로나가 엄청 심하지 않았고, 주말인만큼 양쪽 다 마스크 잘 쓰면 괜찮은 선택지로 보여서 후자를 택했다. 문제는 그 날 그 장소에서 뭔가 학생들 대상 행사가 있었고, 그 학생들 중 한명이 확진자였던 것이다 ㅠ.ㅠ 다행히 방역수칙(체온 측정, 마스크 착용, 손소독)이 잘 지켜져서 전파 가능성이 거의 없다는 통보를 들었고, 행사 장소랑 우리가 쓴 방은 물리적으로 조금 거리가 있어서 잘 지나가긴 했다. 그래도 굉장히 아찔한 순간이었다...혹시나 싶어서 저 소식 듣자마자 그 날은 회사 휴가 쓰고, 계속 집에 박힌 채로 재택근무하다가 보건소 문의했더니 자가 격리 안해도 된대서 마스크끼고 조심 조심 출근했다.
SCPC
2017년 5등상, 2018년 예선 탈락ㅋㅋㅋㅋ, 2019년 5등상을 수상해 더 이상 상을 받을 수 없는 SCPC다. 사실 1등하면 받을 수 있긴 한데, 2년동안 폐관수련하면 가능하지 않을까? 불가능하단 뜻이다. 그래도 참가 자체가 재밌고, 매년 본선만 가도 키보드 마우스 마우스패드 티셔츠 에코백 등 다양한 부상도 주기 때문에 올해도 참가했다. 참고로 이 글도 2019 SCPC 키보드로 쓰고 있는데, 낡아서 좀 바꾸고 싶다... SCPC 로고 각인돼 있는 부분이 녹이 슨다 ㅠ
1차 예선 때는 집에서 술을 좀 먹은 날이라, 3번까지 풀고 4번을 딱 봤을 때 느어어어 못풀겠다 긁어야지 하고 잠들어버려서 짝수년은 본선에 못가는건가 이러고 있었는데 다행히 2차 예선으로 넘어갈 수 있었다. 지금 보니까 3번 만점자가 304명이고 4번 만점자가 105명, 본선 진출자는 대충 100명 좀 넘을테니 딱 진출 컷인거 같기도 하고 뭐 그렇다.
2차 예선은 오전 9시부터 오후 9시까지 진행됐는데, 오전 10시라는 아주 이른 시각에 일어나 시작했다. 1번부터 헤매서 12시까지 1, 2번을 풀었고, 3번을 읽으니 Q=1,000, K=200, N=200,000인데 나이브한 O(QKlogN)가 바로 나와서 이거 코딩하고 제출하고 점심먹고 오후 2시부터 5시까지 진행되는 브랜디 코딩대회 참가하면 되겠네~ 라는 생각으로 3번을 잡았다. 근데 계속 틀려서 결국 1시반에 접고 허겁지겁 밥먹고 브랜디로 넘어갔다 ㅠㅠ 애초에 O(QKlogN) 풀이가 떠올리기 어려운 것도 아닌데 만점자 수가 너무 적더라...
브랜디 대회 치고 나서 돌아오니까 여전히 3번 만점자 수가 100명 이하로 매우 적었다. 그말인즉슨 1, 2, 3번만 만점받아도 본선을 갈 수 있다는건데, 아니 근데 진짜 이게 계속 틀리는데 시간복잡도는 맞는데 구현이 느린거여서 그걸 개선해야 하는건지, 아니면 더 좋은 시간복잡도 풀이가 필요한건지 가늠이 안돼서 심하게 헤맸다. 어떤 어떤 방법을 시도했는지는 wwiiiii.tistory.com/entry/원소-추가-삭제-중간값-찾기-쿼리-1 에 적어두었다. 제출 제한이 10번이고 대회 종료 시각이 오후 9시였는데, 놀랍게도 오후 8시 58분에 10번째로 제출하면서 만점을 받았다... 한 문제에서 MLE TLE WA RTE AC를 다 수집했다 ㅋㅋ 특별상 노리냐고 놀림받았다.
예선 결과는 안나왔지만 무난하게 본선은 갈 수 있을 것 같다. 다만 본선 날짜랑 진행 방식이 아직 안나왔는데, 굉장히 골치가 아플 것 같다. 코로나 때문에 오프라인은 무리가 아닐까 싶은데, 그럼 온라인으로 캠을 켜고 하나? 키보드 택배로 보내줬으면 좋겠다 ㅋㅋㅋㅋ
-
(2020-11-19 내용 추가)
진짜로 본선은 비대면(온라인)으로 진행했고, 캠을 켜고 진행했다 ㄷㄷ. 기존 SCPC 본선에서 나눠줬던 키보드, 티셔츠, 에코백 등을 포함한 기념품과 대회동안 캠으로 촬영하기 위한 휴대폰 거치대도 택배로 보내줬다.
사실 화상으로 진행하는거 세팅하기 귀찮아서 본선은 거를까 생각했는데, SCPC 담당자분께서 참가자 한명한명 세심하게 안내해주셔서 가벼운 마음으로 참석했다. 2회 이상 수상자는 1등상이 아니면 추가 수상을 못하는 규정이 있는데, 대신 특별상을 받게 되었다. 소문에 의하면 빔프로젝터라고 한다.
브랜디 코드네임B
배너 광고로 대회 소식을 접했던 것 같은데, 처음 들어본 스타트업에서 진행한다고 하니 유명세를 안타서 꿀을 빨 수 있지 않을까? 라는 생각으로 참가한 대회다. 총 상금 3억 3천만원이라고 홍보하긴 했는데 1등 천만원, 2~3등 500만원, 4~6등 100만원, 7~16등 30만원, 17~46등 10만원이어서 사실 상금은 3천만원이긴하다. 나머지 3억은 뭐냐? 대회 상위 100명 중 입사자가 있을 경우 입사자 중 성적순 10명에게 사이닝 천만원/스톡 천만원/연봉인상 천만원을 준다는 것이었다.
뭐 스타트업 입장에서 현금을 그렇게 막 뿌리는 것보다는 저렇게 입사할 사람한테만 혜택을 주는게 회사 입장에서도 더 좋고, 참가자 입장에서도 대회 생태계의 지속가능성(?)을 생각하면 나쁘지 않은 절충안이라고 생각된다.
문제 내용은 올리지 말래서 적지 않겠다. 다만 1차 대회 4문제, 2차 대회 4문제 총 8문제에서 문제별 퀄리티가 너무 천차만별이었다. 좌표값을 왼쪽/오른쪽 위쪽/아래쪽이라고 부른 다음 (1, 1)이 왼쪽 위인지 어딘지 명시 안한 문제 등 디스크립션이 굉장히 모호한 문제가 있는 반면, 뭔가 굉장히 익숙한 느낌으로 디스크립션이 꼼꼼하고 다른 문제에는 없는 메모리 제한 조건등이 명시된 문제가 있었다. 약간 여러 소스에서 문제를 받아온게 아닌가...라는 느낌. 그리고 1차 대회는 엄청 쉬웠는데 2차 대회 마지막 2문제에서 갑자기 뛰어 좀 당황스러웠다. 그거만 외주 준 느낌?
아무래도 처음 대회를 운영하는 것이다 보니까 매끄럽지 못한 부분이 보였는데, 뭐 외부 documentation이나 대회 전 시점에서 공개된 코드는 사용을 해도 되는 것인지, 동점자 처리는 어떻게 하는지, hidden test set이 따로 있는지 등등의 규칙이 적혀 있지 않았고, 2차 대회는 캠을 켜고 했는데 뭐 화장실을 가도 되는지 등등도 안내가 따로 없었다.
대회 진행 플랫폼은 goorm이었는데 불편한 점이 꽤 많았다. 먼저 코드를 제출하면 pre-test인지 full judge인지 알 수 없지만 총 N개 테스트케이스 중 K개가 맞았다는 안내가 나오는데, 다른 문제를 보고 그 문제로 돌아오면 해당 점수가 보이지 않고 스코어 보드도 따로 없었다. 그래서 구름측에 내가 제출한 문제에 대한 스코어를 어떻게 확인하냐고 문의하니, 최종 점수는 비공개라는 답변이 왔다. 그래서 그럼 제출시 보이는 그 점수는 어디서 확인하냐고 하니까 제출 직후에만 확인할 수 있는게 expected behavior라고 안내를 받았다... 다음에 구름에서 진행되는 코딩 테스트를 볼 일이 있으면 기록하면서 해야 될 듯 하다 ㅠ.
수상 결과가 오늘 나왔는데, 생각보다 대회가 널리 알려졌는지 17~46등이라는 결과였다. 물론 뭐 충분히 풀 수 있는 문제를 못푼게 하나가 있긴 한데, 어쨌든 세상에 공짜는 없나보다. 개인적으로는 브랜디가 이번 대회 개최를 통해 좋은 결과(채용?)를 얻어서 알고리즘 대회 개최의 좋은 선례로 남았으면 한다.
코드잼 킥스타트 라운드 E
정규 코드잼과 다르게 학생 대상으로 한달에 한번 정도 열리는 대회다. 예전에는 한국인들이 별로 안쳤던 것 같은데, 요즘은 스코어보드에서 많이들 보인다. 절반 정도의 대회는 올솔브 해도 100등안에 못들고, 나머지 절반 정도는 올솔브 빨리 해야 겨우 100등 근처인 정도의 난이도로 구성된다. 올해 라운드 E는 전자였다.
뭐 아무튼 이번엔 굉장히 잘쳐서 25등을 했다. 참가자가 대충 만명을 넘으니 개인적으로는 굉장히 잘했다고 느낀다. 전체 참가자 중 상위 1% 등수면 구글 리크루터가 컨택을 한다는 루머도 있고, 아니면 라운드마다 주최국이 있는데 구글 코리아에서 주최한 라운드에서 잘 치면 컨택이 온다는 루머도 있고 한데 다 진짠지는 모르겠다. 작년 라운드 C는 61/3100등으로 한국 1등!(한국인이 적었을 때라 사실 의미 없음) 이었는데 아무 일도 없었다 ㅠ.ㅠ 뭐 사실 산업기능요원인 상태여서 의미도 없고, 컨택와서 면접을 본대도 코딩 인터뷰에서 광탈할 실력이라 아무 상관 없는 얘기긴 하다....
코드포스
#666(Div1)이랑 #669(Div2)에 참가했고, 예전에 바뀐 규정대로 1900~2100(퍼플)은 Div2 Only 대회가 열릴 때 Rated 로 참가할 수 있다. 특별히 적을건 없고, 두 대회 다 (앞쪽 문제에서 단순 구현 실수 or 제일 쉬운 문제에서 시간이 좀 걸림) && (마지막에 문제 해법을 찾았고 구현도 거의 다 했고 디버깅만 남은 상태인데 대회 시간 종료) 를 당했다. 10분~20분 정도 시간을 더 들여 짠 코드를 실제로 시스텟 끝날 때까지 기다렸다가 내보면 억셉이다...
희망적인 부분은 솔루션은 나온다는 점, 그리고 저렇게 아깝게 한문제를 덜 풀어도 레이팅이 아주 조금씩은 오른다는 점이다. 코포 몇번 더 참가해서 구현 속도를 좀 올리면 당분간은 올릴 수 있지 않을까 싶다. 예전에는 레이팅 떨어지는게 스트레스여서 치는걸 좀 기피했는데, 요즘은 뭐 블루로 떨어지면 무슨 일이 나나..이런 마인드가 되어 버렸다
'일기' 카테고리의 다른 글
24년 7월 미국 생활 - 불꽃놀이, SF 자이언츠, 츄 (이달소), SF 마라톤, 아이유 오클랜드 콘서트 (6) | 2024.10.02 |
---|---|
2024 요아소비 샌프란시스코 콘서트 후기 (0) | 2024.04.27 |
2023년 캘리포니아 신차 구입 (제네시스 gv70) 후기 (2) | 2023.12.05 |
2023년 캘리포니아 운전면허 취득 후기 (2) | 2023.05.29 |
요네자와 호노부, 구미 시립 중앙 도서관 (0) | 2018.06.27 |
- Total
- Today
- Yesterday
- grub 우분투 인식
- grub window ubuntu
- boot-repair
- 윈도우 7
- 우분투 윈도우 멀티부팅
- 미국면허
- grub 윈도우 인식
- 우분투
- DMV
- 캘리포니아
- 우분투 14.04
- 레드우드시티
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |