The Way

정신차리고 살기 (feat. SCPC 역대급 조진 이야기) 본문

기록/단상

정신차리고 살기 (feat. SCPC 역대급 조진 이야기)

Jeonggyun 2020. 11. 18. 00:20

내 좌우명 1번은 다름 아닌 "깨어 있자"이다. 어디선가 좋아할 단어인 깨시민이 되자는 그런 의미는 아니다.

내가 생각하는 깨어 있는 것의 의미는 하루하루가 어떻게 흘러가는지를 아는 것이다. 돌이켜보면 하루하루가 어떻게 흘러가는지를 느끼며 산다는 것은 매우 힘들다. 학교를 다니며 많은 과제에 치이고, 이것저것 많은 일을 하며 살다보면 하루란 그저 쳇바퀴 돌아가듯 지나가는 것에 불과할 때가 많으니까.

 

그런 나날 속에서 적어도 10분이라도 하루를 되돌아보며 어떤 일들이 있었는지를 돌이켜보고, 내일은 어떤 일들이 있을지를 찬찬히 생각하며 내일을 맞이하는 것과 그런 과정이 없는 것은 사뭇 다르다. 하루를 되돌아보는 이런 짧은 시간마저 없다면, 어느 날 정신을 차려보니 한 주가, 한 달이 훅 가버려있는 상황이 자주 발생하게 된다. 나는 이런 일을 방지하고자 일기를 쓰고, 자기 전 10분이라도 스트레칭을 하며 하루를 마무리하려고 노력한다.

 

하지만 그마저도 정말정말 바쁘거나, 정신적으로 지쳐 있을 때는 하지 못하게 된다. 논문을 쓰며, 밤낮으로 실험 결과를 요청하는 교수님과 박사님 호출에 slack 알림을 들으면 화가 치밀 지경이 되어 slack 알림음을 새로운 것으로 바꿀 정도였던 9월 말의 상황이 바로 그런 상황 중 하나다.

 

그런 상황을 한 번 겪게 되면 나는 어딘가 나사가 하나 빠진 사람이 되곤 한다. 그렇게 빠진 나사 중 하나는 바로 일정 기억을 잘 하지 못하게 된다는 것이다. 예를 들면 기숙사 입주이나 법정교육 일정 등. 때문에 기숙사에서 강제 호실이동을 당하거나 출입 카드 권한이 사라질 뻔한 일이 간혹 있다.

 

사실 일정 기억을 잘 하지 못하게 되는 것이 어디 시간이 부족하기 때문일까. 일정 확인하는 데에 걸리는 시간은 단지 1분 남짓이다. 일정을 찾아보고, 기억하는 데에 사용할 만한 머리의 여유가 완전히 바닥난 상태이기 때문이 더 적절한 이유일 듯 싶다. 이런 일을 한두 번 겪은 후, 나는 모든 일정을 캘린더에 적어놓으려고 노력한다. 하지만 간혹 빠뜨리는 것들이 있는데, 이러한 것들은 어딘가에서 치명적인 결과로 돌아오게 된다. 바로 이번 SCPC와 같은 것들이 그런 것이다. 어떻게 이런 큰 행사를 빠뜨릴 수 있을까 하는 생각도 들 수 있는데, 글쎄, 나도 참 신기하다.

 

사실 SCPC의 일정을 놓친 것이 이번 뿐만은 아니다. 생활관자치회 회장이나 홍보대사 등 요상한 직책들을 많이 참여하고 있던 3학년 때도 이러한 일이 있었다. SCPC 1차 예선이 6월이었는데, 난 7월 말쯤이나 되어서야, 그것도 친구와 이야기하며 SCPC 예선이 무려 한 달이나 지났다는 것을 알게 되었고, 그것을 한 달동안이나 몰랐다는 사실도 알게 되었던 적이 있다.

 

이번에도, 상황은 크게 다르지 않았다. 1차 예비소집, 2차 예비소집 일정은 캘린더에 적어 잘 확인하였는데 정작 본선 대회는 어렴풋이 다음주 쯤 되겠거니 하고 생각하고 있었다. 이번 주는 친구와 자전거 여행을 떠나기로 했고, SCPC가 있을 것이라고는 꿈에도 생각하지 못한 채 새벽 4시 30분에 자전거 여행을 출발했다.

 

자전거 여행은 너무 순탄했고, 무언가 불길한 기운이 엄습했다. 약 70km를 자전거를 타고 나서, 11시 30분 경에 창녕함안보에 도착했다. 도착한 후 핸드폰을 보니 이메일이 하나 와 있었다. knox meeting. 왜 회의를 개설하셨지? 뭐 테스트라도 하시나? 생각하다가, 문득 생각이 들어 SCPC 일정을 확인했다. 오늘이었다.

 

이쯤되면 대회를 그냥 제껴버릴까 생각도 했지만, 어떻게든 대회는 참가하고 싶었다. 코로나로 인해 대회 개최를 계속 보류하다가, 참가자 kit를 모두에게 택배로 보내주고, 두 차례에 걸쳐 예비소집까지 진행하는 등 삼성전자 측에서 대회 개최를 위해 얼마나 많은 노력을 기울여 주었는지를 몇 달간 봐왔기 때문에, 본의 아니게 참가자 kit만 먹튀하는 행태를 보이고 싶지는 않았다. 감사하게 대회를 개최해 준 것에 대한 예의가 아니었다.

 

일정을 기억하지 못했지만 시간은 똑똑히 기억하고 있었다. 12시에 예비소집이 시작이었고 1시에 대회 시작이었다. 급하게 네이버 지도를 확인했다. 70km를 오긴 했지만 자전거길을 따라 빙 돌아온 거리라, 차로는 35분 정도의 거리였다. 급하게 담당자분께 전화를 걸어 12시 30분쯤부터 확인을 진행해도 될지 여쭈어보았고, 괜찮다는 응답을 받고 카카오택시로 바로 택시를 불렀다. 택시는 무슨 창원에 있는 택시가 오더라. 택시가 오는 데만 15분은 걸려서 12시쯤에 택시가 도착했다.

 

택시를 타고 가는 도중에 택시기사는 눈치없이 자꾸 말같지도 않은 소리를 했다. 난 급한 일이 있다고 최대한 빨리 가달라고만 했는데, 자전거는 어쩔거냐느니, 자기가 2만원을 손해보고 여기까지 태우러 온거라느니(자기가 가격보고 혹해서 창원에서 여기까지 달려온거면서;;), 원래는 기름값때문에 속도 빨리 안 내는데 이번에만 특별히 내 준다느니(속도 안 내는 택시는 본 적이 없다;;), 자기 차가 그랜져라서 이정도 속도가 나는 거라느니(시속 100으로 달리면서;;). 한 대 줘 패고 싶었는데 괜히 신경 긁었다가 천천히 갈까봐 네네~ 대답하는데 스트레스가 상당했다. 택시비는 40km인데 63,000원씩 받더라. 나는 아직도 창녕함안보-DGIST는 63,000원인데 DGIST-창녕함안보는 35,000원인 카카오택시의 마법의 가격을 이해하지 못하겠다.

 

아무쪼록, 기숙사에 도착한 뒤, 택시에서 미리 구상해둔 과정을 따라 거의 2분만에 준비를 다 마쳤다. 본인 확인과 방 검사까지 안전하게 다 완료한 뒤, 3분간 숨을 고르고 SCPC가 시작되었다. 피곤함에 잠이 들지는 않을까 걱정했는데, 정신은 그 어느때보다 맑았다.

 

1번 문제부터 그리 잘 풀지는 않았던 것 같다. 오프라인 쿼리로 세그먼트 트리를 이용해서 풀면 풀린다는 것은 금방 생각해냈는데, 구현하는 과정에서 알고리즘을 조금씩 단순화시켜 나가다보니 부분합 배열과 map만 가지고 풀리는 문제라는 것을 알게 되어 수정해서 제출했다. 전체 중 약 80등 정도로 풀었던 것 같다. 하지만 SCPC는 4시간짜리 대회이므로 1번 문제를 얼마나 빨리 풀었는지는 그리 중요치 않았다.

 

하지만 2번 문제를 보는 순간 좌절할 수밖에 없었다. SCC를 이용해 푸는 문제였는데, SCC를 어떻게 구현하는지가 기억에 없었다. codeforces나 백준에서 SCC 문제는 자주 풀곤 했지만, 그 때마다 항상 잘 구현된 타잔 알고리즘을 복사-붙여넣기해서 풀었기 때문에 나온 큰 실책이었다. 사실 SCPC는 팀노트가 없기 때문에, 혹시라도 구현이 막힐까봐 나는 항상 1주일 정도 전부터 주요 알고리즘의 구현을 한번씩 더 복습하는 과정을 가졌고, 이번 SCPC 또한 그런 복습의 시간을 가지려는 계획이 당연히 있었지만 일정 자체를 착각하고 있어 이번 SCPC에서는 그런 과정을 아예 가지지 못했다. 결국 일정을 착각한 것이 너무나도 뼈저리게 아프게 다가왔다.

 

3, 4, 5번 문제도 보았지만 역시나 만만한 건 없어 2번 문제를 SCC가 잘 구성되어 있다고 가정한 상태에서 풀이를 시작했다. 오래지 않아 SCC들이 위상 정렬로 잘 정렬된 상태에서 SCC 사이의 간선들의 개수와 방향을 적절히 잘 처리하면 답을 얻을 수 있다는 사실을 알게 되었다. , 풀이를 생각하는 중에 SCC 구현이 기억나기를 바랐지만 SCC 알고리즘은 기억나지 않았다. 코사라주 알고리즘은 구현도 쉬워서 대충 방식만 기억났어도 바로 구현할 수 있었을텐데, 아쉽게도 기억 속에 없었다.

 

결국 DFS 트리에서 간선들을 잘 관찰하면 SCC를 구현할 수 있다는 분석을 한 뒤, disjoint-set과 DFS를 적절히 혼합한, 시간복잡도가 추산조차 되지 않는 뇌절 SCC 알고리즘을 구현하고, 풀이를 작성했지만 결과는 틀렸습니다 였다. 이후 계속 디버깅을 하였지만 결국 2번 문제를 풀지 못하였다. 생각할 수 있는 모든 케이스는 통과하였지만, 이게 SCC가 잘못되었는지, 잘 되었는지에 대한 확신이 없다보니 미쳐버릴 지경이었다. 풀이가 맞는지는 언젠가 codeground에 해당 문제가 올라오면 테스트해 볼 수 있을 것이다.

 

그렇게 3시간 반 정도의 힘든 시간이 지나고, 대회가 종료되었다. 여러 모로 아쉬움이 남는 대회였다. 대회 문제 난이도는 역대급으로 어려웠던 것 같다. 4번 문제는 만점자가 1명뿐이었고, 5번 문제는 만점자가 없었다. 하지만 수상하기는 꽤나 쉬웠던 대회로 보인다. 내 생각에 1, 2번 만점 + 부분점수 1문제 정도면 5등상 수상권에 들었을 듯 싶다. 2번을 2~3시간 안쪽으로 풀었다면, 나머지 문제들의 subtask를 긁으면서 수상권에 들 수 있었을 것 같은데, 2번에서 막혀 다른 문제들의 subtask를 시도해 볼 기회조차 없었다는 것이 너무나도 아쉽다.

 

다만, 이번 대회는 나에게 큰 깨달음을 주는 계기로써의 역할은 톡톡히 하였다. 시간 관리를 잘 해도 소화하기 버거운 일정 속에서 살고 있다면, 자그마한 실수로도 반드시 무언가 하나는 무너지게 되기 마련이다. 모든 것을 붙잡고 가려고 하면 결국 나 자신이 망가지게 되는 것 같다. 덜 중요한 것들은 보내줄 줄도 알아야 한다.

 

나이가 들고, 점차 어른이 되어가며 시간의 소중함과 부족함을 절실히 깨닫는다. 시간이 부족하게 되면 사람에게 심적 여유가 없어지게 된다. 부족한 시간을 백준, 운동 등 나를 위해 투자하기는 어렵고, 여유롭게 하루를 되돌아보는 데에 시간을 사용하기란 더더욱 어렵다. 하지만 그 속에서, 조금이라도 정신을 차리고, 삶이 흘러가는 것을 느끼며 살아가려고 노력해야 나중에 뒤를 돌아보았을 때 남는 기억들이 있지 않을까.

'기록 > 단상' 카테고리의 다른 글

일상 잡념  (0) 2019.10.10
아이유 부동산 투기 논란  (0) 2019.01.07
확증편향  (0) 2018.07.01
내 인생의 최고 낭비  (0) 2018.06.30
암호화폐의 몇 가지 논란과 그에 대한 생각  (0) 2018.01.23
Comments