2학기 회고 및 HCPC

Opusdeisong·2022년 12월 4일
0

대회 후기

목록 보기
1/1

간단 2학기 회고

2학기를 시작하면서 굉장히 거창한 계획들을 많이 세웠던 것 같다. 크게 세 가지 정도가 있었다.
그 중 한 가지는 나름 성공적이었다고 생각하지만 나머지는 꽤 큰 실패였다는 생각이 든다.

먼저, 알고리즘 스터디를 진행하였다. 시작은 알고리즘 스터디 였지만 결과적으로는 과 동기들과
수업 내용을 주기적으로 복습하고 모르는 것을 함께 해결해나가는 스터디로 변화하였다. 처음의 취지인 알고리즘에는 전혀 도움이 안 되었지만 이번 학기에 그래도 밤을 조금 덜 샐 수 있게 도와준 스터디였던 것 같다. 앞으로도 비슷한 형식으로 진행할 지는 사실 잘 모르겠다. 워낙 내가 벼락치기에 특화되어 있어서 뭔가 다른 일이 하고 싶어진다면 스터디를 도망갈 수도 있을 것 같다. 이 스터디가 이번 학기에 그래도 취지에는 맞지 않지만 가장 성공적으로 진행한 것이었다.

두 번째로, FORIF 스터디 멘토를 진행하였다. 이건 과 동기를 믿고 진행한 것이긴 한데 이것도 내가 생각했던 것과는 매우 다른 양상으로 진행되었다. 실패한 스터디였냐고 묻는 다면 아니라고 생각하긴 한다. 하지만 뭘 특별히 배우고 가르쳤냐고 물어도 잘 모르겠다. 다음 번에 또 스터디를 진행한다면 이러이러한 것을 해야겠다 라는 생각은 들지만 내가 주도적으로 뭔가 배우고 한 것 같지는 않다. 사실 고생은 다른 동기 멘토가 다 했는데 나는 그냥 버스에 올라탄 느낌이었다.
이 글을 빌려서 미안하다는 말을 하고 싶지는 않다!^^;;
버스 고맙다^^

세 번째로, 바로 지금 이걸 쓰는 이유인 TIL 스터디를 진행하였다. 올해 가장 실패한 계획 중 하나라고 생각하는데 나름 9월 말 까지는 매일 적으려고 노력도 하고, TIL을 적기 위해서 인강도 듣고, 수업 정리도 하고 했었다. 하지만 10월 초 부터 개인사정으로 거의 3주간 심신미약 상태로 지냈었는데 그 때 습관이 깨지면서 지금까지도 한 번도 적지 않게 되었다. 한글로 적었다면 조금 더 편하게 적었을 거 같은데 영어로 적다보니 더 쓰기가 싫었던 거 같기도 하다. 나 뿐만 아니라 우리 스터디원들도 사실 진짜 짐이었을 것
같다는 생각이 든다. 스터디 모집 한 두 명이 모두 겁나 벌금만 내고 있으니 나라도 쓰기 싫었을 것 같다. 그래서 양심적으로 20일에 한 번씩 벌금 만원을 납부하고 있다.

이런 저런 이유로 요즘 매너리즘에 좀 빠져서 뭐라도 해봐야 겠다는 생각에 오늘 하는 HCPC 대회를 동기들을 반 강제로 끌어들여서 나가게 되었다.

HCPC

대회에 처음 나갈 때는 그냥 50% 안에만 들면 무슨 성적 인증서 같은거가 나온다고 하길래 1학기 때 제일 열심히 했던 알고리즘을 이용해서 뭔가 해보자 라는 생각으로 나갔다. 그래도 나름 대회니깐 동기들과 같이 치팅 페이퍼도 준비하고 이전 기출 문제도 한 번은 쭉 훑어보고 나가려고 했지만 FM2023이 불러서 어쩔 수 없이 맨땅에 헤딩한다는 생각으로 나갔다.

대회장에 도착하고 나서 가장 먼저 든 생각이 "코딩 잘할 거 같은 사람 많다."였다. 앞 자리 사람은 무슨 키보드도 유선으로 챙겨와서 기세에 완전히 눌리고 시작했다. (물론 그 사람은 Advanced Division이었고, 그 팀이 압도적으로 우승했다.) 대회 시작 전까지만 해도 주는 이삭 토스트랑 콜라나 먹으면서 한 3문제 풀면 그래도 중간은 하겠지 하는 마음으로 시작했다. 우리 팀은 다들 주로 사용하는 언어가 달라서 파이썬과 C로 나누어져서 문제를 해결했다. 상대적으로 수학적으로 어려운 문제를 잘 푸는 동기가 난이도 있어 보이는 문제를 풀기 시작했고, 나와 다른 동기는 빠르게 구현할 수 있는 문제를 위주로 진행하였다. 근데 대회가 시작하기가 무섭게 3분만에 어떤 팀이 문제를 풀어버리는 것을 보고... 와 역시 대회는 다르구나라고 생각을 하면서 편한 마음으로 문제를 풀어 나갔다. 하지만 그 한 팀이 그냥 생태계 교란종이었고, 3문제를 푼 시점에 우리 팀은 2등에 위치하고 있었고, 그때부터 조금씩 2등 자리에 욕심이 나기 시작했다.(당시 1등 팀은 이미 5문제로 따라 잡을 수 없었다.)

계속해서 2등 3등 4등 팀은 조금의 차이로 엎치락 뒤치락 하면서 문제를 풀고 있었다. 하지만 5번째 문제를 해결하는 과정에서 시간초과가 발생하게 되었다. 파이썬의 특성상 시간초과가 나면 보통 시플플 같은 다른 언어로 푸는게 더 빨라서 다른 방향으로 진행하려고 했지만 내부적으로 빅오를 대충 예상해보니 그 문제가 아니라는 것을 알게 되었다. 그래서 다른 팀원들은 다른 문제를 해결하는 동안 나는 5번째 문제의 규칙성을 찾는데 집중하려고 하였다. 하지만 5번째 문제는 Test Case자체가 하나 밖에 없었고, 내가 생각지도 못한 엣지 케이스를 갖고 있어서, 페널티를 7번이나 먹을 수 밖에 없었다. 너무 큰 페널티 때문에 우리는 꼭 6번째 문제를 해결해야지만 수상권에 도전할 수 있게 되었다. 이 당시 시간이 약 30분 정도 밖에 남지 않았었고, 마지막 부분에서 풀이에 오류가 있었다는 것을 찾게 되어서 포기를 할 수 밖에 없었다. 정말 한 끗 차이라고 생각해서 다음에 대회에 또 나와야지 라는 생각을 좀 많이 하게 되었다.
실제 결과는 이러했다.
우리 조는 C번을 도전하고 있었는데 아쉽게 C번은 해결하지 못하였다...

지금 문항에 대한 레벨이 나왔는데 쉬운것만 잘 찾아서 깔끔하게 잘 풀었던 거 같다. 시간이 된다면 풀이도 남겨 보고 싶다. 첫 대회를 하고 나서 든 생각이 대회가 생각보다 엄청 재밌다는 거다. 대회 시간도 길고, 지루할 줄 알았는데 동기들과 같이 문제 얘기하고빨리 풀려고 막 머리 싸매고 고민하는게 되게 재밌었다. 다음에 이런 기회가 있으면 아마 또 나갈 거 같다.
천만년만의 TIL 끗!

profile
Dorsum curvatum facit informaticum.

3개의 댓글

comment-user-thumbnail
2022년 12월 4일

다음엔 나도

1개의 답글