티스토리 뷰

Hobby/Book

[Book] 알고리즘 인사이드 with 파이썬

생각많은 소심남 2023. 11. 26. 23:59

(해당 포스트에서 소개하고 있는 "알고리즘 인사이드 with 파이썬" 책은 한빛 미디어로부터 제공받았음을 알려드립니다.)

 

알고리즘 인사이드 with 파이썬

“17년 차 베테랑 개발자가 직접 풀고 해설한다!” 학생, 취준생, 주니어, 역량 개발이 필요한 모든 개발자를 위한 86개 문제 풀이로 사고력을 키우는 알고리즘 & 자료구조 입문서

hanbit.co.kr

아마 이 책까지 찾았다면 코딩테스트를 준비하건, 알고리즘 공부를 하건 고민을 많이 했을 것 같다. 그도 그럴것이, 시중에는 정말로 다양한 알고리즘 책이나 강의자료들이 정말 많다. 소위 IT업계의 상위권이라고 할수 있는 네카라쿠배에 가기 위해서라도 관련 내용은 알고 있어야 되고, 무엇보다 어떤 소프트웨어가 동작하는 것을 이해하기 위해서는 알고리즘에 대한 이해가 필요하다. 다만 최근의 경향은 뭔가 이해한다 라기 보다는 그냥 경향에 대해서 약간 주입식의 형태로 암기하는 식으로 이뤄지고 있는 것 같아서 조금 아쉽긴 하다. (나도 뭔가 고민해야 될 문제가 있으면 혼자서 고민해보기 보다는 그냥 외워서 하는 태도도 있어서 반성한다...)

 어쨌든 다양한 코딩 관련 서적들이 있고, 다양한 부류로 나눠서 볼 수 있다. 아무래도 공부하는 언어에 따라서 책을 구분할 수 있겠고, 아니면 leetcode 나 정보올림피아드 기출 풀이와 해설을 다룬 책들이 있을 수 있고, 혹은 아예 효율적으로 이론적인 내용만 담으면서 저렴한(?) 책들도 있다. 물론 어떤 책이 가장 좋고, 나쁘다의 기준은 책마다 추구하는 과점이 다 다르기에 그걸 표현할수는 없을 것 같고, 개인적으로는 딱 책의 전체적인 난도가 일관적이면서 설명이나 도식화가 잘되어 있는 책이 보기에 조금더 좋은 책이라고 생각한다. 이런 관점에서 한번 책을 소개해보고자 한다.

알고리즘 인사이드 with 파이썬

이 책은 앞에서 소개한 것처럼 수많은 알고리즘 관련 책 중에서 파이썬을 타겟팅하면서 leetcode에 나온 문제 중 저자가 중요하다고 생각한 문제 86개에 대한 해설을 담고 있다. 물론 막연하게 기출 문제를 담고 해설하지 않고, 문제의 큰 주제에 따라 분류하고, 해당 주제를 이해하는데 필요한 기본적인 자료구조나 해결 전략을 앞부분에서 소개하고 있다. 

이 책의 장점이라고 할 수 있는 것은 문제별로 포함되어 있는 해결 전략과 이를 뒷바침할 수 있는 도식들이다. 사실 어떻게 보면 하나의 해결과정을 설명하다보면 중복되는 내용도 많이 있고, 이를 설명하기 위한 도식도 조금 늘어져 보일 수 있다. 이 책은 그래도 이해에 필요한 도식들을 모두 설명함으로써 적어도 그림으로 문제의 의도를 설명하고자 했다. 물론 이때문에 책의 분량이 조금 많아진 경향도 있지만, 이런 문제 풀이에 익숙하지 않은 첫 접근자라면 그림을 통해서 이렇게도 해결할 수 있겠구나 하는 생각이 들었다. 

책을 읽는 조금 불편한 부분도 있긴 했다. 일반적인 개발서에 익숙해져서 그런건지는 모르겠지만, 해결코드와 설명을 같이 놓고 보기가 조금 힘들었다. 물론 설명 부분에서 해결 코드의 라인번호와 같이 자세히 설명은 되어 있으나, 적어도 해결코드에도 간단한 주석정도 달아주었으면 조금 더 이해에 도움이 되지 않았을까 싶은 생각이 들었다. 그리고 책의 구성 방식이 기본적인 자료구조와 알고리즘을 쭉 설명하고, 뒷부분에서 이와 관련된 leetcode 기출을 해설하는 방식으로 되어 있는데, 차라리 그 큰 주제에서 알고리즘을 설명했으면 조금더 책 읽는데 편하지 않았을 것 같았다. (뒤에서 트리 관련 기출을 보다가 기본 알고리즘 부분으로 돌아가서 계속 왔다갔다 읽는게 조금 번거롭긴 했다...)

어떻게 보면 위의 평은 개인적인 주관이자 여러 코딩테스트 준비책을 읽고 비교되는 부분에 대해서 기술을 했다. 그래도 적어도 이 책이 추구하는 것처럼 다양한 leetcode 기출을 통해서 대부분의 기본 알고리즘을 다루고자 했고, 또한 충분한 도식과 설명을 통해서 초중급자들이 접근하기에는 좋은 책임이 틀림없다. 

댓글