↓ 본문으로 건너뛰기

Facebook Hacker Cup 2020 후기

·3 분
nyan101
작성자
nyan101
목차

TL;DR : 이번엔 티셔츠 받음

2019년 해커컵에 이어 올해도 2020년도 페이스북 해커컵 대회가 열렸다. 이번에도 Round 2에서 늦잠을 자면서 Round 3은 달성하지 못했지만1 티셔츠까지는 받을 수 있었다. 구글 코드잼은 작년에 티셔츠를 받았지만 해커컵은 이번이 첫 티셔츠여서 그런지 나름 만족스럽다.

그동안 해커컵에서의 제일 큰 불만은 small / large가 없어서 조금이라도 실수하면 돌이킬 수가 없다라는 점이었는데, 이번에는 validate step이 나와서 이런 점이 조금은 완화됐다. 코드포스의 pretest 느낌으로 validate_input.txt을 제공하고, validate_output.txt를 제출하면 이에 대한 채점결과를 알려주는 시스템이 추가되면서 “그래도 바보같은 코딩실수는 안했구나"라는 확인을 할 수 있었다.

작년에는 Round 2 기준 상위 500명에게만 티셔츠를 제공했지만 올해 해커컵에서는 기준이 조금 바뀌었다. Round 2에서 1문제 이상을 해결한 경우 기념 티셔츠를, Round 3(상위 200명)에 진출하는 경우 티셔츠에 “Top 200"이라는 뱃지가 추가되어 나온다는 모양이다. 이왕 받는거 Top 200이었다면 좋았겠지만 노말등급(?) 티셔츠도 전체 참가자 수 대비 5% 미만의 사람들만 받은 만큼 너무 아쉬워할 필요는 없을거같다.

각 라운드의 성적은 다음과 같다.

Qualification Round

Round 1 진출을 위해서는 1문제 이상만 정답이면 된다. 하지만 퀄라운드가 72시간이라는 긴 시간동안 진행되면서 “남는 시간동안 다른 문제들도 고민해보자"라는 생각을 했고, 결과적으로 모든 문제 정답이라는 나름 기분좋은 성적으로 진출할 수 있었다.

Round 1

A번이 같은 상황에 데이터 조건만 다르게 해 A1, A2, A3으로 분리되어 나왔다. 보통 이렇게 분할된 문제들은 A3이 A1, A2의 상위호환2인 경우가 많은데, 막상 문제를 보니 각 상황별로 다른 알고리즘을 사용해야 했다.

이번 Round 1에선 C번 문제를 제외한 나머지를 전부 제출했는데, 제출 후 얼마 지나지 않아 A3에서 세그트리로 처리해야할 최대 배열 사이즈를 잘못 설정했다는 것을 깨달았다. validate step에서는 걸러지지 않았던 문제라 눈치채지 못했고, 라운드 종료 후 확인해보니 예상대로(?) 오답 판정을 받았다. 배열 사이즈를 2배로 늘린 후 다시 제출하니 정답 판정이어서 조금 아쉬웠지만 어쨌든 Round 2로 진출했으니 “제대로 된 풀이를 떠올린 건 맞다"는 점에 의의를 두기로 했다.

Round 2

올해도 Round 2는 일요일 새벽 2시부터 5시까지 진행됐다. 작년엔 자느라 30분 늦게 시작했던 아쉬움이 있었기에 이번엔 꼭 시간을 맞추겠다는 다짐을 했고, 편의점에서 미리 에너지드링크까지 사오면서 단단히 준비했다.

하지만 1시에 “잠깐 눈좀 붙일까"라는 생각을 해서는 안 됐음에도 한 게 화근이었고, 그렇게 눈을 뜨니 2시 19분이었다(…) 다행히 바뀐 규정에 따라 1문제 이상만 해결해도 티셔츠는 받을 수 있었기에 부담을 조금 내려놓고 대회를 시작했다. A번은 Round 2인 걸 감안하면 간단한 난이도, B는 약간의 수식을 세우면 $O(N^2)$ DP로 풀리는 확률계산 문제였다. 이후 시간을 들여 C를 코딩했으나 예제가 나오지 않아 확인하던 중, 문제 접근을 살짝 엇나갔다는 사실을 깨달았다.

패널티를 확인해보니 C를 마저 풀어도 Round 3 진출(상위 200명)이 아슬아슬한 상황이었다. 어떻게 할지 고민했지만 어차피 결과에 큰 차이는 없다는 생각(과 자다 깨서 대회를 뛴 피곤함) 끝에 C를 더 잡지 않고 최종 629등으로 대회를 마무리했다.



  1. 일찍 일어났어도 200등은 애매했을거같다. ↩︎

  2. 각각의 데이터 조건이 subset 관계를 이뤄, A3을 풀었다면 같은 소스코드를 A1, A2에 제출하면 통과되는 경우. ↩︎

관련 글

Google Code Jam 2020 후기

·2 분
TL;DR : 올해도 티셔츠 받음 지난주 토요일 2020년 코드잼을 마쳤다. 사실 대회에 대한 설명이나 기본적인 소개는 작년에 거의 똑같은 글을 썼어서 이번엔 별로 할 말이 많지는 않다. 작년에 이어 이번에도 티셔츠를 받을 수 있는 Round 3까지 진출에 성공했다. 작년 티셔츠는 L사이즈로 신청했는데, 한국이랑 미국 옷의 기준이 다른건지 티셔츠 끝이 거의 허벅지까지 내려와 밖에서 입고 다니지는 못했다.

Facebook Hacker Cup 2019 후기

·5 분
TL;DR : 아무래도 페이스북 티셔츠와는 연이 없는 모양이다(…) 2018년 해커컵에 이어 2019년도 페이스북 해커컵 대회가 열렸다. 이번에는 지난번같은 실수 없이 티셔츠, 운이 좋다면 Round 3까지 진출하는 걸 목표로 삼았지만 결국 달성하지 못했다. 일요일 새벽 2시에 열리는 Round 2를 위해 토요일 저녁에 미리 잠들고, 알람까지 맞춰놨지만 눈을 뜨니 2시 23분이었고 급하게 노트북을 켰지만 이미 대회 시작에서 30분이 지난 상황이었다.

Google Code Jam 2019 후기

·5 분
TL;DR : 코드잼 티셔츠 받음 2019년 코드잼 본 대회를 치렀다. 몇 번 글을 썼던 Kickstart와는 달리 1년에 1번밖에 열리지 않는 대회이고, 작년엔 훈련소에 있느라 참가를 못 해서인지 조금은 긴장된 마음이었다. 대학 시절 내내 코드잼, 해커컵을 통틀어 티셔츠와는 인연이 없었기에 이번에야말로 하나 받아내겠다는 생각을 했다. 구글 코드잼(Google Code Jam)은 이름에서처럼 구글에서 주최하는 코딩대회로 Qualification Round와 온사이트 World Final을 포함해 총 5단계로 이루어진다. World Final은 전 세계를 통틀어 상위 25명밖에 나갈 수 없어 기대조차 안했고(…) 그 이전 단계인 Round 3(세계 상위 1000명)까지를 목표로 삼았다.