rhrnald's 코딩
지금까지 PS 행보 본문
블로그에 어떤 글을 올려야되나 고민을 해보았다.
알고리즘이나 문제풀이 등은 시간도 많이 걸리며 다른 블로그에 더 잘 정리되있을 것 같고 마땅히 올릴 글이 없다.
일기 식으로 써나가거나 시간이 여유로울때 알고리즘 몇개 정리해보는 식으로 정리 해봐야지.
이번에는 블로그를 시작한 겸 지금까지 어떻게 코딩 공부를 해왔는지 글을 써보려한다.
처음 PS를 시작한 건 랭킹이 멋있어 보여서였다. 당시에 백준에서 푼 문제들을 기준으로 레이팅을 매겨주는 애플리케이션?이 있었는데 해보고 싶다는 생각이 들었고 백준 계정을 만들게 되었다. 게임 같다고 느껴졌고 재밌어 보였던 것 같다. 게임을 너무 좋아해서 탈이다. 그래도 요즘 Codeforces도 그렇고 대부분 PS대회들이 게임 같아서 흥미를 잃지 않고 꾸준히 할 수 있는 것 같다.
아무튼 BOJ 1000번 문제를 2017년 9월에 제출한것으로 보아 그때 쯤 시작 했었던 것 같다. 닉네임에는 엄청난 노력을 투자하였다. 자취방에서 약 두시간 정도 고민했었는데 결국 못 정하였고 옆에서 고구마 먹고 있던 친구가 고구밍으로 대신 정해주었다. 한글이 안되서 대충 rhrnald으로 하게 되었고 현재까지 모든 PS활동에 해당 닉네임을 사용하고 있다. 글로벌하게 진출하기 위해 닉네임을 바꿔야 될 것 같다는 생각이 들긴 하지만 아직은 조금 이른거 같다. 아무나 좋은 닉네임 좀 던져주면 좋겠다. 롤 닉네임도 같이 바꿔야지. 부끄럽지만 고등학교 때 만들었던 롤 닉네임이 "엠생국대"이다. 당시에 수학 국가대표 되고나서 기숙사에서 쫓겨나 만든 닉네임이라 잘 만들었다고 생각했었는데, 언제부턴가 잘 모르는 사람들과 같이 게임할 일이 종종 생기다 보니 내세우기 살짝 부끄러운 닉네임이 되어버렸다. 빨리 바꿔야지.
닉네임을 정하는데 너무 많은 노력을 투자해서 그런지 PS 자체는 오래가지 못했다. 쉬운 거 한 두개씩 풀면서 문제수나 조금 늘리다가 너무 안오르는 레이팅을 보며 그냥 때려치게 되었다. 문제에도 레이팅이 매겨져서 쉬운문제를 풀어봤자 레이팅에 영향을 별로 안 미치는데 어려운거 풀 실력은 안되고 그냥 그만 둔 것이다. 해당 레이팅 시스템을 이제는 볼 수 없다. 트래픽 문제로 백준에서 막아버렸기 때문이다. 백준에 해당 시스템을 도입하면 좋을텐데 아쉽다.
백준에 들어가 세봤는데 17년 11월까지 38문제를 풀고 그만두었었다. 뭐 이때까지는 PS를 했다고 말할 수 없는 것 같다. 그냥 코딩연습?정도를 해두었다고 치자. 이후에 다시 PS를 시작한 것은 18년 5월이였다. 한참 안했다고 생각했는데 반년 밖에 안됐었구나. 한참이였다고 느낄 수 밖에 없는게 저 사이에 엄청난 이벤트가 있었기 때문이다. 입대를 한 것이다. 아무생각 없이 입대 했는데 내 인생에서 두 번째로 잘한 짓인 것 같다. 정말 적절한 시기에 엄청난 요행(물론 실력과 동치)이 따라주었고 아마 내 인생의 큰 전화점이 되지 않았나 싶다. 생각해보니 입대는 당연히 모든 사람에게 엄청난 전환점이 될 수 밖에 없는 것 같기도
일단 입대한 시기. 정말 완벽했다. 조금 더 늦었으면 놓쳤을 것이고 더 일찍왔으면 다른 일을 시작했거나 시간을 버리지 않았을까 싶다. 훈련소를 마치고 부대에 배정받은 뒤 의미 있는 군생활을 하자! 하며 사지방에서 허송세월을 투자하려고 막 하던 도중 페북 게시글을 보게 되었다. SCPC(Samsung Collegiate Programming Cup) 홍보 포스터 였는데 눈길은 끈 부분은 상금 부분이였다. 단순 재미 보다 확실한 동기부여였다. 본격적으로 PS를 시작하게 되었다. 부대로 전입온게 5월 2일인데 대회 신청 시작이 5월 23일이였다. 정말 완벽했다.
오직 상금만이 목표였기에 기출문제만 주구장창 풀었다. 기출문제라 해봤자 3년치 밖에 없었고 그냥 다 풀었다. 한두개 빼고. 예선 1, 2차는 생각보다 여유롭게 통과할 수 있었고 본선에서도 운좋게 5등상 까지 받을 수 있었다. 당시에는 진짜 운이였다. 점수제라는 특이한 시스템과 어쩌다 쿵짝이 잘맞아 20등까지 주는데 18등으로 턱걸이 입상했을 것이다. 옛날일이니까 자세히 언급하진 않아야지.
혼자 했으면 아마 속도도 안나고 한달안에 기출문제를 다 풀지 못했을 것이다. 내가 인생에서 제일 잘한 일이다. 좋은 친구를 만들어 놓은 것이다. 덕을 쌓으면서 살아오진 않은 거 같은데 환경이 좋았었던 것 같다. 이제부터라도 덕을 많이 쌓아야지.
종범이는 진짜 나에게 어마어마한 도움이 되어 주었다. Vim 설정 하는 법부터 해서 PS를 시작하기 위한 모든 부분에서 도움을 받았다. 주고 받은 페메의 양이 종범이의 은혜를 보여준다. 진짜 귀찮을 법도 한데 모든 사소한 질문을 받아주었고 내 PS공부에 속도가 붙을 수 있었다. 정말 편하게 공부했었던 것 같다. 그렇게 PS에 문외한이였던 나를 이끌고 삼성 본선 수상까지 이끌고 가준 종범이였고 아직까지도 고맙게 생각하고 있지만 밥 한번 사주지 못했다. 언젠가 뭐라도 해줘야지.
PS에 엄청난 도움을 주신 분이 한분 더 계신다. 이종원형이다. 부대에 전입와서 아는사람이 있어서 놀랐었다. 입대 바로 전 겨울학교 조교할 때 놀러오신걸 뵀었는데 같은 부대가 되서 굉장히 반가웠다. PS 시작전에는 그냥 수학 잘하는 분으로 알고 있었는데 알고보니 PS에서도 고수이셨다. 같은 부대로 떨어지게 된 것은 진짜 엄청난 행운이였다. 이쯤 되니까 세상이 내 중심으로 돌아가는 건 아닐까 고민하게 된다.
그냥 엄청 풀었다. 문제 세트들은 전부 종원이형이 들고 와주었고 난 그냥 풀기만 했다. 풀다 모르는게 있으면 여쭤보면 또 알려주시고, 역시나 편하게 공부했었던 것 같다. 사실 그렇게 편하진 않았다. 여쭤보면 분명히 친절하게 알려주시긴 했다. 이 알고리즘 쓰면 풀려, 이렇게 이렇게 하면 돼 하고 가볍게 알려주시지만 문제는 실력 차이가 너무 많이 났고 나에겐 그렇게 가볍지 않았다. 설명을 들을 때 열심히 고개를 끄덕이며 암기를 한 뒤 방으로 돌아가 열심히 해독을 하였다. 그렇게 열심히 반년을 스파르타식으로 훈련을 하였고 말도 안되게 많이 성장할 수 있었다. 종원이형한테는 아직도 종종 모르는 것들을 여쭤보며 도움을 받고 있다.
저기 나와있는 마지막 연습 이후로 더 이상 종원이형과 연습을 돌지는 않았지만 꾸준히 문제를 풀며 어렵거나 재밌는 문제들을 공유해주셨다. 저 때쯤 PS인생에 큰 변화가 찾아왔다. 이전까지는 항상 배우기만 하는 입장이였는데 드디어 같이 공부할 사람들이 생겼다. 비슷한 수준의 사람들이 어쩌다가 태균이를 중심으로 모이게 되었고 같이 PS공부를 하게 되었다. 문제 세트도 돌아가면서 등록하였고 같이 새로운 알고리즘들을 공부할 수 있었다. 우리가 헤매고 있을 때마다 진표형이 나타나서 도움을 주고 가준 덕분에 막힘 없이 수월하게 공부할 수 있었다. 그런데 비시즌이여서 그런지 동기부여가 잘 안되었고 처음 반년만큼 열심히 하지 못했다. 권태기가 왔던 것일까.
PS 덕분에 군생활이 전혀 답답하지 않게 느껴졌다. 재미도 있었으며 아무것도 하지 않는다는 죄책감으로부터도 벗어날 수 있었다. 그렇게 시간이 흘러갔고 다시 PS대회 성수기가 찾아왔다. 제일 먼저 돌아온 것은 SCPC였다. PS공부의 방아쇠를 당겨주었다 해야되나 나에게 나름 의미 있는 대회였다. 이번에는 상금도 상금이지만 1년간 얼마나 성장했는지를 SCPC를 통해 확인해보고 싶었다. 예선은 어려움 없이 진행하였고 본선까지 진출할 수 있었다. 비슷한 유형의 문제만 나오는 대회이다 보니 어느정도 운이 따라준다면 모든 문제를 풀 수 있지 않을까 하며 1등을 기대해보았다. 아쉽게도 ainta가 모든 문제를 너무 빨리 다 풀어버려 1등을 확정 짓는 바람에 나는 무상에 그치고 말았지만 확실히 달라진 나의 실력을 느낄 수 있었다. 훨씬 더 부드러운 움직임과 안정적인 카이팅으로 많은 딜을 뽑아낼 수 있었다. 하지만 부족한 부분이 있었는데 바로 속도였다. 아직은 구현 속도가 많이 느렸고 대회에서 좋은 성과를 내기에는 부족했었다. 이런 나의 부족한 부분을 알게 해준 것이 SCPC의 가장 큰 성과이지 않을까 싶다.
같은 주에 UCPC도 있었다. 대회가 가까웠던 덕분에 하나의 휴가로 모두 처리할 수 있어서 굉장히 편했다. UCPC는 내가 처음으로 경험하는 팀 대회였다. 고맙게도 종원이형이 같이 나가자고 권유 해주었고 종원이형의 지인인 고지훈씨와 셋이서 UCPC를 나가게 되었다. (원래 태균이와 나가려 했었지만 실력과 경험이 풍분한 사람들과 같이 팀을 하며 많은 것을 배우고 싶었기 때문에 가차 없이 배신을 하였다. 이번 경험을 통해 배운 것을 바탕으로 내년 같이 월파에 진출하는 것으로 사과를 해야겠다.) 처음부터 팀에 민폐를 끼치지 않을까 걱정하면서 예선과 본선을 치뤘고 본선 때는 키보드를 잡지 말아야겠다는 다짐을 하였다. 하지만 다짐을 깨고 가장 먼저 키보드를 잡게 되었고 그 결과 팀에 엄청난 민폐를 끼치고 말았다. 다행히 두 능력자의 캐리력 덕분에 두분의 실력에 걸맞는 상을 받게 되었다. 그와 함께 실력에 걸맞지 않는 상을 받게 된 나여서 살짝 죄책감도 들었지만 그게 끝이였다. 모니터도 얻고 좋은 경험도 한 대회인 것 같다.
두 대회 이후로 요즘은 시간 재고 문제 푸는 것을 연습하고 있다. ACM-ICPC 인터넷 예선도 연습삼아 출전해 보고 Codeforces도 시간이 되는대로 많이 참가 하고 있다. 처음에는 상금을 목표로 시작했지만 이제는 조금 더 높은 것을 욕심 내보고 있다.
많은 사람들의 도움을 받아 여기까지 왔으니 나도 다른 사람에게 도움이 되야겠다는 훈훈한 결말로 마무리 지어야겠다.
'근황' 카테고리의 다른 글
Codefoces Round #607 (Div. 1) (0) | 2019.12.15 |
---|---|
블로깅 시작 (0) | 2019.10.22 |