코드스테이츠 백엔드 부트캠프에 참여한지 5주가 지났다.
이번 주는 주로 알고리즘 문제풀이를 위주로 진행을 했다. 코드스테이츠에서 제공하는 문제들을 다 풀면, 저녁에는 백준 온라인 저지에서 문제들을 추가적으로 풀면서 하루가 매일 지나갔다. 문제를 푸는 건 재밌고 뿌듯했으나, 문제를 풀고 나서 다른 사람들의 풀이 코드를 보면 벽을 느낄 때도 있었다. 하지만 열심히 하면 나도 그렇게 될 수 있을 것이라 믿으며 열심히 했다.
그리고 코드스테이츠에서 제공하는 문제들을 풀 때는 몰랐는데, 백준 온라인 저지에서 문제를 풀 때는 속도까지 신경을 많이 써야 했다. 문제를 푸는 건 억지로라도 어떻게 풀긴 하는데, 시간 초과로 인해 애먹은 적이 한두 번이 아니다. 시간을 줄이기 위해서 많은 노력을 했고, 아직 부족한 점이 많다는 걸 깨달았다. 검색을 많이 해보면서, 시간 복잡도라는 것에 대해서 공부를 해 봐야겠다라는 걸 느꼈다.
이번 주엔 주로 백준 온라인 저지에서 푼 풀이 코드들을 github에 올렸고, 추가로 I/O에 대해서 공부한 내용도 올렸다. 이번 주도 하루도 쉰 날 없이 열심히 했다. 문제를 푸는 건 개인적으로 너무 재밌는 것 같다. 매일 시간 가는 줄 모르고 풀고 있었다. 문제를 푸는데 시간이 오래 걸리는 문제들이 좀 있었어서 이번 주는 시간이 삭제된 느낌이다. 그래도 일요일 저녁 잔디가 푸르르게 심어져 있는 github를 보니 뿌듯하고 다시 힘이 생긴다.
다음주도 꾸준히 알고리즘 문제풀이는 계속 진행하고, 스프링 공부도 시작을 하려고 한다. 온라인 강의 플랫폼인 인프런에 김영한님의 스프링 강의가 정말 좋다는 얘기를 많이 들어서 코드스테이츠 교육과 병행해서 진행하려고 한다. 물론 금액적인 부분이 약간 부담되긴 하는데, 투자라 생각하고 과감하게 지를 예정이다. 절대 후회하지 않을 것 같다는 느낌이 든다.
이번 주에 백준 온라인 저지에서 문제들을 풀면서, BufferedReader와 BufferedWriter, StringBuilder등을 쓰는 것만으로 속도 부분에서 해결되지 않는 경우가 많이 있었다. 그 때 문제를 해결하기 위해 너무 많은 시간들이 소요가 되었고, 그 후 많은 검색들을 통해 시간 복잡도라는 것에 대해 공부할 필요성을 느꼈다. 다음주는 시간 복잡도에 대한 공부를 추가적으로 꼭 하겠다. 💪