그동안 저는 무작정 백준/프로그래머스에서 코딩 테스트를 풀곤 했습니다.
단순 구현문제나 그리디, 정렬, 이진탐색, 투 포인터 등은 할만 했는데,
어느 순간부터 다익스트라, 최소 스패닝 트리, DFS/BFS 등 특정 알고리즘, 자료구조를 알지 못하면 풀지 못하는 문제가 나오더라고요.
기존에는 모르는게 하나씩 나올 때 마다 인터넷을 뒤져가며 찾아봤지만,
이럴게 아니라 강의나 책을 보고 코딩테스트를 제대로 공부해봐야겠다는 생각이 들어
Do it! 알고리즘 코딩테스트 자바편을 구매해 공부하였습니다.
왜 이 책을 골랐는가
Do it 시리즈는 표지 디자인이 너무 깔끔하고 그동안 읽었던 Do It 시리즈는 내용도 꽤 만족스러웠기에,
Do It 시리즈는 그냥 믿고 사는 편입니다.
그리고 무엇보다 시중에 자바 코딩테스트 책이 그리 많지가 않더라고요.
저는 코틀린을 주 언어로 삼고있는 개발자지만, 코틀린 책은 더더욱 없고,
자바도 사실상 주 언어처럼 익숙하기에, 그냥 자바 코드를 보고 코틀린으로 짜면 되겠다는 생각이 들었습니다.
사실 이 책을 고른데에는 큰 이유가 없어요.
그냥 Do it 시리즈 팬이기도 하고, 시중에 나와있는 자바 코테 책도 많이 없고, yes24에서 인기순 눌렀더니 맨 위에 떠서 골랐을 뿐.
그럼 책 내용은 알찼는가?
보통 (대분류 알고리즘/자료구조 소개) - (소분류 알고리즘/자료구조 설명) - (기출문제 1~3개)로 진행되는데,
백준(+Solved.ac)에 수록된 문제를 갖고 푸는게 꽤 마음에 들었습니다.
처음에는 배열, 리스트 활용부터 시작하여
스택, 큐 같은 다른 자료구조들,
투 포인터, 구간 합 구하기, 정렬 등 조금 이해하기 쉬운 알고리즘부터 시작을 하며,
다익스트라, 플로이드 워셜, 최소 스패닝 트리, 위상정렬, 세그먼트 트리 등 슬슬 매워지기 시작해요.
그냥 온갖 유형은 다 나온다고 보면 됩니다.
이 책에 대한 생각은 코딩테스트를 응시하기 전 저와 응시한 후의 저로 나뉩니다.
코딩테스트를 응시하기 전에는 솔직히 뭐 이런거 까지 다 공부하냐... 싶었는데
5~7개 정도 코딩테스트를 응시하고 광탈한 순간 깨달았습니다. 아... 다 공부해야 하구나.
투 포인터, 이진탐색, 그리디, DP -> 단골문제 입니다.
DFS/BFS/백트래킹 -> 90% 확률로 나오는 것 같습니다.
최소 스패닝 트리 + 유니온 파인드 -> 그저께 부트캠프 코테 봤는데 나왔습니다.
기하/CCW -> 처음 봤을 땐 뭐 이런게 다있지?
싶었는데 생각해보니 부트캠프 코테 볼때 비슷한게 나왔던 것 같습니다...
당시에는 이게 뭐야 하면서 그래프로 뻘짓했던 것 같은데 지금 생각해보니 CCW 였던듯...
다익스트라, 플로이드 워셜 기타 등등 -> 아직 직접 코테에서 본 적 없긴 하지만, 유명한 알고리즘인 만큼 빈출문제라 들었습니다.
물론 몇몇 유형은 오잉? 이건 그냥 넘어가도 될 것 같은데? 싶은 유형도 있긴 했지만,
전반적으로 굉장히 알차다고 볼 수 있습니다.
총평
자바 개발자인데, 천천히 다양한 알고리즘을 파보고 싶어요!
-> 추천드립니다.
지금 발등에 불이 떨어져서 핵심 빈출만 딱 딱 공부하고 싶어요!
-> 해당 책에는 핵심, 빈출 키워드가 붙어있어는데 이 것만 공부하시거나, 핵심 빈출만 깊게 다루는 다른 책을 추천드립니다.
'일상' 카테고리의 다른 글
현대 소프티어 Softeer 2023년 HSAT 모의 평가 후기 (0) | 2023.09.22 |
---|---|
백준 1000 문제 Solved 후기 (0) | 2023.08.20 |
우아한 테크캠프 6기 코딩테스트 응시 후기 (7) | 2023.05.06 |
프로그래머스 온라인 코딩테스트 플랫폼 (모니토) 응시 후기 및 팁 (0) | 2023.04.30 |
Github Copilot 사용 후기 (0) | 2023.01.16 |