백준 200문제 달성 후기와 공부 기록 정리
백준은 9월에 처음 시작했으나 컴공으로의 전과를 목표로 학업에 집중하다 제대로 손도 대지 못하고, 겨울방학부터 언어를 파이썬으로 바꾼 뒤 맨 처음부터 다시 풀이를 진행해왔다.
원래 3학년이나 되면 하려고 했지만 이번에 대기업에 인턴으로 들어가게 된 지인으로부터 저학년때부터 꼭 알고리즘을 갈고닦으라는 간곡한 한풀이를 듣고 나서 공부 계획을 앞당기게 되었다. 나는 심지어 복학도 늦게 한 케이스라서 남들보다 공부에 시간을 많이 투자하려고 노력하고 있다.
200문제를 풀기까지 대략 2달 조금 넘게 걸린 것 같다. 실버급 문제를 풀기 시작할 즈음에는 새학기가 시작되어 매일 하루에 하나씩은 푸는 것을 습관으로 하고 있다.
처음에는 한 문제를 잡고 몇 시간 동안 붙잡고 있거나 심하면 일주일 내내 고민하던 때도 있었다. 하지만 나는 그냥 1시간 내에 해결법이 떠오르지 않으면 다른 사람 코드를 참고하는 것을 추천한다. 이걸로 논문을 쓸 것도 아니고, 취업 준비를 위한 공부할 것이라면 결국 자주 출제되는 유형에서 돌고 돌 것이기 때문에 차라리 모르는 유형에 빠르게 익숙해지는 것이 더 중요하다고 생각한다.
그리고 한가지 방법으로 풀더라도 꼭 다른 사람이 어떻게 풀었는지 찾아보는 노력 정도는 해보는 것이 공부에 큰 도움이 되는 것 같다. 나는 웬만하면 2가지 방법으로 문제를 풀려고 하고, 다른 사람의 코드 또한 참고한 이후에 블로그에 풀이를 기록하는 방법으로 공부를 해오고 있다.
solved.ac의 난이도 배분이 정확하지 못해 같은 난이도의 문제도 체감 난이도는 들쭉날쭉했던 것 같다. 같은 랭크 문제더라도 그래프 문제는 쉽게 풀리는 반면, DP같은 문제는 다른 사람 코드를 보고 이해하는 것조차 어려울 때도 많았다. 랭크 올리는 것은 그냥 기록과 공부 동력일 뿐이지 크게 의미는 없는 것 같다.
브론즈 문제까지는 죄다 구현만 하는 문제이기 때문에 다른 사람 코드를 보는 것으로 충분하겠지만 실버 문제로 넘어가면 생소한 자료구조들을 많이 만나게 되기 때문에 유튜브나 구글을 통해 모르는 부분을 공부하는 것이 좋다. 유튜브에 있는 나동빈님의 이것이 취업을 위한 코딩 테스트다를 추천한다.
(이코테 2021 강의 몰아보기) 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기 - YouTube
아직 2학년 1학기라 이 정도 페이스로 풀면 올해 말까지 플레는 달성할 수 있을 것 같다. 3학년 정도 되면 프로그래머스나, 다른 기출문제들에도 관심을 가져볼 생각이다.
지금까지의 공부 기록
22.01~ 02 : 비트코인 모의투자 프로젝트
파이썬과 PYQT5, 업비트의 API를 활용해 비트코인을 가상의 돈으로 모의투자를 할 수 있는 개인 프로젝트를 진행했다.
실제 업비트 사이트에서 코인들에 대한 정보를 실시간으로 받아오기 때문에 실제 투자에 앞서 전략을 테스트하고자 프로그램을 만들게 되었다.
구현에 있어서 가장 어려웠던 것은 수많은 코인들에 대한 시세를 웹소켓으로 받아 화면에 띄우는 부분이었는데, 업비트처럼 한눈에 모든 코인들에 대한 정보를 화면에 띄우게 만드는데 어려움이 있어 한번에 하나의 코인만 정보를 조회할 수 있도록 만들었다.
또한 코인별로 최소 단위가 제각각이라 매수 매도할 때 생기는 연산 오류를 바로잡는데 많은 시간이 걸렸다.
공부한 지 얼마 되지 않아 지금 봐도 엉망진창인 코드가 눈에 보인다. 하지만 아직 고칠 계획은 없다...
lazarus0320/GAZACOIN: 가즈아 코인은 업비트의 실시간 코인 정보를 이용해 모의 투자를 하는 게임입니다. (github.com)
22.02~ 03
블로그 시작.
파이썬으로 백준 알고리즘 풀이 시작
컴퓨터 구조 공부후, 블로그에 포스팅.
블로그 방문자가 현 시점으로 650명정도로 늘었다.
하루에 10~20 명대에 방문자가 있는데 나중에는 얼마나 더 늘어있을지 궁금하다. 누군가가 나의 기록을 봐준다는 것만으로도 공부에 큰 도움이 된다.
22.03~
C, C++, JAVA 공부 시작.
컴퓨터 공학과 2학년으로 전과를 한 후, 수업에 적응하기 위해 틈틈이 공부를 하고 있다.