백준, LeetCode 100일 후기
· 약 4분
1달 정도 정신이 없어서 블로그 관리를 거의 못했는데, 생존신고 겸 적는 글입니다.
바쁜 와중에도 2월부터 꾸준히 백준과 LeetCode 문제를 풀고 있었는데요, 얼마 전에 100일을 넘겼습니다.
시작한 이유와 방향성
사실 코딩 테스트 준비가 주된 목적은 아니었고, 기초 문법이나 몇몇 유 용한 표현을 학습하기에 유효하다고 판단했습니다. 당연히 나중에 도움도 될 것이고요.
그래서 난이도에는 집착하지 않으면서 단계별로, 하루에 1-2문제 정도씩 꾸준히 풀었고 중간에 사용해야 할 언어가 바뀌면 환기용으로도 풀었던 것 같네요.
100일이라고 했지만 짧다면 짧은 기간이라서 백준은 단계별 문제 + 실랜디, LeetCode는 일일 퀴즈 위주로 풀고 있습니다.
배우는 게 목적이기 때문에 모르면 찾아보고, 코드를 다시 써 보고, GitHub에 까다로웠던 문제는 기록하면서 진행 중입니다.
오늘 기준 백준 230문제, LeetCode 140문제 정도 풀었네요 :)
느낀 점
- 가장 많이 푼 것은 DFS, BFS, DP였습니다. 푸는 문제가 늘어날수록 마주칠 수밖에 없는 것 같습니다. 예전에는 많이 낯설었던 개념이었는데 그래도 익숙해진 듯합니다.
- 하지만 DP는 여전히 어렵습니다...
- 양쪽 모두, 특히 LeetCode에 다소 이상한 문제들이 있습니다. 요즘은 크게 신경 쓰지 않고 넘깁니다...
(이럴 때 LeetCode 댓글을 보면 가관입니다 ㅎㅎ) - 문제를 푼 뒤에도, 다른 답들을 참고하면 변수나 알고리즘을 최적화하는 데 도움이 많이 되었습니다. 오히려 새로운 알고리즘을 익히는 것보다 이 쪽이 더 도움이 된 것 같아요.
- 처음에는 TypeScript와 Go를 많이 사용해 보려고 했는데, 다른 언어에서 라이브러리를 사용하면 되는 기능도 직접 구현해야 하는 경우가 많아 사용 빈도가 떨어지는 편입니다. 전체적인 맥락을 파악할 수 있다면 실무에서 언어는 바꾸면 된 다고 생각해서 최근에는 편하게 Python으로 풀고 있습니다.
마치며
계속하다 보니 익숙해져서 이제 하루의 루틴이 되었습니다. 이제 아까워서 못 그만둘지도...?
새 회사에 적응하느라 지금도 정신이 없는데, 여유가 되면 블로그도 계속 작성해 보려 합니다.