입대하고 나서부터 입대 전보다 하는 게 점점 더 많아지는 것 같다. 성장하고 있는 중!
매주마다 그 주에 있었던 일들을 회고 느낌으로 작성해보고자 한다. 사실 이전부터 쓰려고 시도했다가 계속 실패했던건데, 입대한 지금은 뭔가 다르겠지라는 느낌으로 다시 도전해본다.
1. Solved.ac 등반
올해 4월부터는 입대에 대한 준비 및 걱정이 가득한 마음에 '이제 백준 많이 못 하겠구나..' 라고 생각하며 문제 풀이보다는 놀기만 했었다. 군 부대 안에서 자율적으로 공부할 수 있다고 듣긴 했지만 모든 부대가 동일한 분위기인 것은 아님을 알고 있었기에 군 복무 중의 공부는 거의 포기 상태로 계획하고 있었다. 그렇기에 새로운 알고리즘을 공부해야겠다는 생각은 하지 않은 채로, 내 레이팅은 작년 6월부터 쭉 변함없이 다이아몬드 5에 머물러 있었다. 널린 브론즈 - 실버 - 골드 문제들만 풀던 나는 결국 5월에 입대했다.
그런데, 훈련소에 있던 기간동안에 백준 문제 풀이와 알고리즘 공부가 너무 그리웠다. 주말마다 1시간씩 핸드폰을 받을 수 있던 상황에서 동기들 전부 통화를 하고 있을 때, 나는 백준 문제를 핸드폰으로 재빨리 하나 풀면서 예전 감을 잃진 않았는지 걱정하곤 했었다. 이전부터는 쭉 공부를 하고 있었는데 입대 후에 손을 놓았다 보니, 이전과는 달리 더 다양한 것들을 배우고 싶다는 의지가 넘쳐 흘렀다.
자대 배치를 받고 나서 적응기로 몇 주를 보낸 뒤에, 부대 안의 사이버 지식 정보방을 정해진 시간에 자유롭게 이용할 수 있다는 것을 알게 되었다. 자유롭게 공부할 수 있음을 알게 된 이후로 나는 약 2달동안 사이버 지식 정보방을 자주 이용하면서 다양한 백준 문제를 풀이해왔다. 마치 훈련소 기간동안 못 다한 공부를 하는 것 마냥, 이전에는 이해되지 않던 알고리즘들이 갑자기 이해가 잘 되고, 고난이도 알고리즘을 이해한 뒤 상위 난이도 문제들을 많이 풀게 되고, 더 많은 알고리즘을 배우고 싶다는 의지가 계속 샘솟았다. 2달간 KMP, SCC, 2-SAT, 이분 매칭, 네트워크 플로우, MCMF, Sparse Table + LCA, 제곱근 분할법, mo's 알고리즘을 배웠는데, 전부 다 난이도가 있는 알고리즘이라 해당 분류의 문제들을 풀면서 결과적으로 레이팅이 급격하게 상승했다.
( 여담으로, MCMF 로 다이아몬드 5 문제를 처음 풀었던 날은, 내가 다이아몬드 문제를 마지막으로 푼 지 정확히 1년이 된 날이었다. )
이전에 플래티넘 5에서 다이아몬드 5로 등반할 때의 보람찬 느낌을 다시 받는 것 같았다. 배운 알고리즘을 응용해서 난이도 있는 문제를 풀 수 있다는 자신감도 얻고, 더 다양하고 어려운 알고리즘을 배울 수 있다는 용기도 얻게 되고, 무엇보다 레이팅이 올라간다는 것이 기분이 좋았다. 아마 계획 상이라면 11월에 다이아몬드 3에 승급할 것 같다.
이전에 느꼈던 바를 잊지 않고, 실버 - 골드 수준의 문제들도 거의 매일 풀이하면서 다양한 문제들을 풀 수 있도록 노력하고 있다. AtCoder 나 Codeforces 문제들도 여유있을 때마다 풀이해 CP 또한 지속적으로 대비하고 있다. 콘테스트는 참여할 수 없지만 폐관 수련으로 실력을 늘려가겠다는 계획이다.
2. Today I Learned
군대에서 다양한 것을 배우기 위해선 준비가 필요했다. 바로 배운 내용을 잊어버리지 않고 잘 정리할 곳이다. Today I Learned (TIL) 를 깃허브에 레파지토리를 생성하여 특정 내용을 공부할 때마다, 백준 문제를 풀이할 때마다 계속해서 실시간으로 정리하고 있다. TIL 도 입대 전에는 귀찮아서 잘 안 쓰게 되느라 계속 실패했던 습관인데, 7월 7일부터 작성해온 TIL이 벌써 8월 25일까지 이어지고 있음을 깨달았을 때는 내가 열심히 공부했구나를 알 수 있어서 보람을 느꼈다.
날짜마다 배운 내용을 정리하면서, 예전 내용부터 복습 겸 티스토리 블로그에 다시 정리하고 있다. TIL 도 채우고, 블로그도 채우고, 깃허브 커밋 스트릭도 채우고, 배운 내용에 대한 복습도 할 수 있으니 블로그에 정리한 내용에 있어선 기억이 잘 될 정도로 효과가 매우 좋았다. 아무래도 평일에는 적은 시간 안에 공부하느라 바쁘니, 시간이 많이 남는 주말에 블로그 정리를 진행하고 있다.
TIL 을 길게 써보면서 느낀 점은, 하기 싫고 귀찮다는 생각이 습관을 만드는 데에 있어서 주된 방해 요소가 되는데, 이를 다 잊고 그냥 묵묵히 쭉 하는 것이 습관을 만드는 가장 좋은 방법임을 느꼈다. 다른 잡생각을 떠올리는 것 대신 묵묵히 지난날의 기록을 이어간다면, 나중의 내가 지난날의 기록에서 동기부여를 얻고 계속해서 유지할 수 있는 힘이 될 수 있다!
백준 문제 풀이 / 알고리즘 외에도 지금은 프로그래밍 언어에 대한 TIL 도 작성하고 있다. 여유가 된다면 더 다양한 분야에 대해 공부하고 TIL 을 작성해 공부 기록을 쌓아갈 것이다!
3. 여담
- TOPCIT 공부를 시작했다! 한 달동안 빡세게 준비해야 하는 시험이지만, 열심히 해서 상을 타보겠다는 목적이다! 다른 일들은 우선순위가 조금 밀리겠지만, 나중에 취업 때 어떻게 대비해야할지도 지금 알아볼 수 있기에 좋은 경험이 될 거라고 생각한다.
- 공부도 좋지만 운동도 열심히 해야할 것 같다. 진급 시험엔 체력이 필요하기 때문이다.
- 같은 학교 인원끼리 진행하는 백준 스터디를 열어서 운영하기 시작했다! 아직은 소규모이지만 활동을 늘리고 인원을 모집해서 백준 문제 풀이를 같이 진행하는 커뮤니티로 활성화하여 우리 학교에서 백준을 즐겨 하는 인원이 많아졌으면 하는 목적이다.
- 조만간 블로그도 키울 예정이다! 백준뿐만 아니라 다양한 분야의 글을 올릴 예정이다.
'잡담' 카테고리의 다른 글
[ 2024년 10월 셋째 주 ] 바쁘게 살아가며 (1) | 2024.10.20 |
---|---|
[ 2024년 8월 다섯째 주 ] 개발자가 될 준비의 준비의 준비 (11) | 2024.09.01 |