카카오 프로젝트 100 : 1일 1문제 알고리즘 문제 회고

평소 인스타그램 팔로우하고 있던 서점에서 카카오 프로젝트 100이라는 플랫폼을 통해 독서 모임을 한다는 글이 올라왔다.
여러 개의 다른 프로젝트를 둘러보던 중 개발자분들이 연 프로젝트들이 눈에 띄었고 그중의 하나가 '1일 1문제 알고리즘 문제' 풀기였다. '공부가 귀찮은 사람' 에게 추천하고 '혈액순환이 잘되고 타자가 빨라짐'을 기대효과로 건 소개 글을 보며 나도 해볼 수 있겠다는 생각이 들어 지원하게 되었다.
작심 1일
처음 leetcode에 접속하여 사용법을 읽히고 눈에 띈 하나의 문제를 풀었다. 회사에 입사한 이후 알고리즘 문제를 풀어 본 적이 없던 탓인지 해결하는데 꽤나많은 시간을 보내게 되었고 하루 만에 지치게 되었다. 그 후 밀려드는 업무를 핑계로 문제 푸는 것을 게을리하게 되었다.
다시 시작하기
처음 인증 알림 설정을 해 놓아서 매일 저녁 10:02분에 '오늘도 화이팅!' 이라는 카톡이 도착하였다. 다시 카카오 프로젝트에 들어가서 다른 사람들의 인증글을 보게 되었다. 나는 쉬는 동안 참가자분들을 으쌰 으쌰 하며 인증 글을 하나씩 올리고 있었다. 다시 시작할 방법을 고민하였고 몇 가지 원칙을 만들게 되었다.
1. 초반에는 가장 난이도가 낮은 문제를 선택할 것
2.문제를 해결하지 못해도 일단 인증하고 그날 새벽 혹은 그다음 날 출근 전까지 문제를 풀 것
3.빠르게 가려고 마음 급하게 생각하지 말고 일단 습관을 기르는데 집중할 것
힘들었지만, 이 원칙을 지키기 위해 매일 노력하였다. 처음에는 억지로 책상에 앉았다면 매일 해야 하는 일로 자리 잡아 자연스럽게 책상에 앉게 되었다. 야근을 하는 날에는 출퇴근길에 휴대폰으로 알고리즘을 풀었고 친구와의 약속이 있는 날에는 전날 2개를 풀고 자거나 양해를 구하고 친구의 책상에서 알고리즘을 풀었다. 어떤 책에서 봤던 문장처럼 60일 넘게 지속하다 보니 자연스럽게 하는 일로 자리 잡게 되었다. 또한, 익숙한 언어인 php로 초반에는 문제를 풀다가 Java로 변경하여 풀며 자연스럽게 공부를 더 하게 되었다.
잠시 쉬어 가기
전체 기간의 2/3 정도를 수행한 후 몸에 큰 무리가 왔다. 책상에 앉으면서도 상태가 좋지 않다는 것을 느꼈지만 카페인이 있는 차를 우려 마시며 문제를 푼 탓이였다. 그다음 날 바로 병원에 가고 쉬어야 한다는 이야기를 들었다. 마감 시간이 다가올때 마다 문제를 풀고 싶었지만, 숨이 남아있어야 올라갈 수 있다는 말을 떠올리며 며칠 간 쉬기로 하였다.
프로젝트를 마무리하며
100일간 프로젝트를 진행하였다고 해서 엄청난 실력의 소유자가 되지는 않았다. 하지만 몇 년간의 운동을 통해 내 몸에 생긴 미세한 근육처럼 내 머리 한쪽에 자신감이 생겼다. 이제 다른 공부를 한다고 해도 주저하지 않고 나를 믿고 시작 할 수 있을 것 같다.