2월 말에 구글 해시코드 2021 온라인 예선을 치뤘다. 휴리스틱 대회는 처음이었고, 그렇기 때문에 단순히 경험을 쌓기 위해 참가해보기로 했다. 원래 yooshnn과 둘이서 참가하기로 했는데, 어떻게 연락이 닿아서 두 명이 추가되어 네 명이 되었다. 팀명은 그 분들이 지었는데, 강한 친구 대한 육군이라는 팀명과는 달리 제대로 된 대한민국 육군이었던 사람이 단 한 명도 없었다...
구글 해시코드는 보통의 Problem Solving 대회와는 달리 NP-Complete 문제를 최고 점수를 뽑을 때까지 최적화하는 데 중점을 둬야 한다. 최적화 방안에는 적당한 휴리스틱을 짠다든지, 좋은 그리디 풀이를 찾는다든지, 시간이 정말 오래 걸리더라도 느린 알고리즘을 돌려본다든지 하는 방법이 있다(입력 데이터가 전부 공개되어 있기 때문에, 느린 알고리즘도 대회 시간 내로만 돌아간다면 무방하다). 이러한 대회 참여가 처음이었고, 평소 참가하던 PS 대회와는 완전 이질적인 느낌이 들었지만 그만큼 새로운 문제 스타일을 접할 좋은 기회였던 것 같다.
문제의 내용은 도로의 정보와 차량의 정보가 주어질 때, 교차로에서 신호등을 적절히 스케줄링해서 가능한 한 많은 차들을 목표 위치로 이동시키는 것이다. 이렇게 보면 굉장히 간단해보이지만, 입력 데이터와 출력 데이터 등 굉장히 문제 자체가 복잡했고 그만큼 구현량도 많았다. 구현량이 엄청났기 때문에, 머릿속에 떠오르는 아이디어가 꽤 많았음에도 불구하고 구현이 너무 어려워서 포기한 부분도 있었다.
대회 결과는 9천 명이 조금 넘는 참가자 중에서 2902등을 했다. 처음 참여한 것 치고는 괜찮은 결과라고 생각한다. 이런 대회를 해 보면서 여러 영역에 대한 경험을 골고루 쌓는 것이 중요하다는 생각을 했다.
'History' 카테고리의 다른 글
UCPC 2021 예선 참가 후기 (0) | 2021.08.01 |
---|---|
2021 IGRUS Newbie Programming Contest 개최 후기 (0) | 2021.04.05 |
IUPC 2020 참가 후기 (2) | 2021.01.11 |
Codeforces Archive (0) | 2020.12.13 |
2020 Seoul ICPC Preliminary 후기 (1) | 2020.10.15 |