C, Java, Python이라는 세 단어에 주목했어야 한다... 진짜 그것밖에 못 쓸 줄은 몰랐지
13일 토요일에 진행되었던 예선에 참가했다.
나는 종로 지점에서 참가했는데, 자리에 앉자마자 진짜 코딩하는 자리는 아니라는 느낌이 팍 왔다.
모니터부터 본체까지 굉장히 맘에 들지 않는 형태의 것으로 구성되어 있고, 시스템도 이게 맞나 싶었다.
COS Pro 플랫폼을 사용했다고 하는데 시험 시작을 각자 하도록 되어 있었다.
그러니까 나는 5분정도 체험하기를 하고 시작하고, 옆사람은 10분정도 체험하기를 하고 시작한다면 옆 사람은 나보다 5분 후에 시험이 끝난다. 누가 대회를 이따구로
나는 C 언어로 응시했는데, 딱 체험하기를 보자마자 완벽하게 멘붕이 왔다. 분명 신청할 때 C++가 없어서 C언어에 C++이 통합되어 있는 줄 알았는데 진짜 그냥 C였다.
내가 애용하는 bits/stdc++.h 헤더는 물론이고 algorithm 헤더, STL, string 자료형 등등... 그냥 전부 쓸 수 없었다.
자료구조고 뭐고 그냥 다 구현해서 쓰라는 건데, 이럴거면 왜 Python도 넣어놓았는지 모르겠다. 같은 문제를 풀게 되어있다면 구조적으로 무조건 Python이 유리한 대회였다.
이게 자격증을 따기 위한 시험이었으면 어차피 언어별로 따로 계산되는거라 상관없는데 이건 딱히 그런 것도 아니라서 그냥 어이가 없다.
나는 순정 C는 거의 다룰 줄 모른다. 동적 할당이랑 call by address는 어떻게 그냥 한다고 해도 strcmp(), strcpy() 같은 함수들은 진짜 써본지 5년 됐고 좋은 C++ 놔두고 굳이 C를 쓸 이유도 없었다.
미쳤다고 C++ 버리고 C 연습하는 사람이 없을텐데 왜 C++ 종목은 안 만들어놓고 C만 해놨는지 진짜 모르겠다. 문제를 해결하기 위한 알고리즘은 대부분 바로 떠올랐는데 C언어 함수 해석하고 작성하느라 시간이 오래 걸렸다 ㅋㅋㅋ....
IDE도 사용 불가, 손으로 메모하는 것도 금지, C++ 사용 불가. 그냥 완벽하게 나를 저격하는 옵션이 붙어 있는 대회였다...
90분동안 10문제가 나왔는데 시간 문제로 9솔로 끝났다. 아마 Python이었으면 진짜 60분 안에 10솔 박고 잠이나 잤을 수도 있다.
문제 수준은 백준 기준으로 브론즈 V ~ 실버 I 수준이고 어려운 문제는 빈칸넣기나 한줄 수정하는거라 그냥 눈치껏 변수 이름만 해석해도 전혀 문제 없이 풀 수 있다. 다만 문제 하나는 아직도 기억나는데, 그건 풀이보다 효율적인게 생각이 안 났다.
100개의 수를 입력받은 뒤, 합이 50이 되는 숫자 5개를 출력하는 문제였다.
실제로 그냥 5중 for문 써서 구현해보면 Worst case도 1초 안에 나오기는 하는데 DP는 이것보다 빠른지 모르겠다. 진짜 5중 for문 구현하라고 출제한거면 좀 레전드긴 하다.
아무튼 본선 가게 되면 무조건 Python으로 바꿔서 나가야겠다. C언어 너무 힘들어...