최근에 운동도 하고 아르바이트도 해 보고 여러 가지 바쁜 일들이 많아서인지 오랜만에 블로그 글을 쓰는 것 같다!
여느 때처럼 집에서 뒹굴거리며 시간 날 때 가끔 알고리즘 문제 풀이를 하던 나는 어느 날 학교 에브리타임을 보다가 이런 글을 보게 된다. 군 복무를 마치고 다음 학기까지 집에서 쉬고 있던 나는 공부를 해야겠다는 생각을 해도 지금이 아니면 쉴 시간이 없다는 생각이 앞섰다. 지금이 아니면 쉴 시간이 없을 거라는 생각에, 놀 수 있을 때 놀자는 생각에는 변함이 없지만 이 글을 보고 매일 1문제 정도라면 큰 부담 없이 참여할 수 있을 거라는 생각에 쪽지를 보내고 오픈채팅방에 들어갔다!
사실 사람이 많을 줄 알았는데 4명밖에 없어서 놀랐지만, 그래도 이렇게 매일 1문제씩 풀고 사진을 찍어서 올려보니 뿌듯하기도 하고 혼자 할 때보다는 그래도 공부하는 시간이 조금 길어졌다.
물론 완전 익명인 데다가 서로 Github이나 Baekjoon 아이디를 공유한 것도 아니고, 어떤 문제를 풀었는지 알려주는 것도 아니고, 어떤 문제에 대해 토론해 본 적도 없다 보니 스터디그룹 같은 느낌은 아니긴 하지만... 부담 없이 꾸준히 공부할 수 있는 최소한의 환경 같은 느낌이라 마음에 든다!
사실 알고리즘 문제 풀이를 처음 시작하는 건 아니다! 사실 2학년 2학기 때 학교 전공 필수 수업으로 알고리즘 과목을 처음 들었는데, 그때는 알고리즘 문제 풀이 경험이 없어서 수업 내용은 어찌저찌 따라갔지만 시험을 볼 때 코딩 고인물(?)이 너무 많아서 좋지 못한 결과를 초래한 적이 있었다. 그 이후로, 혹시 졸업하고 취업을 준비할 때 코딩 테스트가 필요하기도 하고, 그렇지 않더라도 내가 생각한 논리를 바로바로 코드로 만드는 기본기를 조금 더 갖추고 싶다는 마음에 전역하면서 Baekjoon Online Judge에서 알고리즘 문제 풀이를 시작했다!
경험이 전혀 없어서 지금까지는 여기에 나와 있는, 알고리즘 책을 보기 전에 풀어야 하는 문제들을 모두 풀어 본 상태이다! 처음에는 기초 문제겠거니 생각했는데, 푸는 중간에 solved.ac의 존재를 알게 되어 문제 난이도를 보니 마지막 완전 탐색 파트의 대부분 문제들이 골드 부근에 있어, 뭔가 뒤통수를 맞은 듯한 느낌이 들었다.
이제는 지금까지 풀었던 문제들 중 어려웠던 문제나 짚고 넘어갈 만한 문제들을 다시 한 번 살펴보고, 그 중 자주 사용될 알고리즘들을 따로 정리해서 나중에 필요할 때마다 쉽게 꺼내 쓸 수 있도록 만들고 Github에 올려 볼 예정이다...! 또 앞으로 문제를 풀면서 인상 깊은 문제들을 블로그에 정리하거나 Github에 올릴 예정이다!