독서/서평

[파이썬 알고리즘 인터뷰] 파이썬으로 다각도로 풀어보기 모음집

Dibrary 2022. 7. 4. 09:50
반응형

파이썬을 비교적 다른 언어에 비해 능숙하게 다룰 수 있게 된 후에, 각종 알고리즘 사이트 (백준, leetcode 등)에서 파이썬으로 문제를 풀어 왔었다.

다만 그 '효율'에 있어서 의문은 계속 풀리지 않고 있었다.

특히나, 문제를 오롯이 내가 시간을 들여 풀어내는 방식위주로 하다 보니 비슷한 문제는 거의 대부분 풀이 코드가 비슷했다.

이런 고민을 가지고 있던 찰나, 이 책을 만났다. 

 


우선 결론부터 말하자면 책이 좋다. 다만 무겁다. 

왜 좋냐면, 우선 정말 많은 문제가 수록되어 있다. 물론, 해당 문제는 거진 대부분 leetcode의 문제다.
바로 이 부분에서 나는 만족했다.

시중에 나온 알고리즘 책은 정말 '학교'에서나 쓸 법한 개념 위주 혹은 '대회용' 이렇게 2가지로 나뉜다. 물론, 코딩테스트와 관련해서 나온 책들은 개념도 어느정도 소개하곤 하지만 그 개념이 얕다.

이 책은 '자료구조'및 '파이썬'이라는 언어의 특징까지 짚어 나가면서 설명해 나간다.

그리고, 하나의 주제에 대해 다양한 풀이 방법으로 접근한 모든 코드를 보여준다.

처음에는 이해하기 급급했지만, 이젠 하나의 문제를 꼭 똑같은 방법으로 풀지 않아도 할 수 있다는 자신감을 얻었다.

 

그리고, 이 책에 나온 문제들이 leetcode의 문제라는 것이다.

사실 개인적으로 백준이나 프로그래머스 알고리즘을 풀면 비슷한 문제를 많이 마주한다고 생각한다.

반면, leetcode의 문제는 굉장히 창발적인 아이디어를 써야 하는 문제부터 '시간 복잡도'제한을 걸어버려서 똑같은 문제라 하더라도 다르게 풀어야 하는 경우가 빈번하다.

그래서 leetcode의 문제를 푸는데 확실히 다양하게 물어보는 느낌을 다시 받아서 좋았다.

 

 

또 다른 장점으로는 다른 책들에서는 잘 짚고 넘어가지 않는 부분도 소개한다.

대부분, 코딩테스트에 정렬, 리스트, 트리, 그래프 정도의 내용이 주로 나오기 때문에 이런 내용'만' 담겨있곤 한다.

이 책은 기본적인 내용 + 비트조작, 트라이, 슬라이딩 윈도우 등의 기법도 소개한다.

물론 '전공책'을 보면 위 내용들도 모두 살펴볼 수 있겠지만, 내가 읽은 알고리즘 관련된 책에서 해당 내용을 소개한 책은 이 책이 처음이다.

 


파이썬을 주력으로 다루고 있다면 꼭 읽어보면 반드시 실력 향상에 도움이 될 거라 믿어 의심치 않는 책이다.

처음이라면 몇 가지 기법은 암기해야 하겠지만, 그 암기조차 피가되고 살이 되는 내용임을 확신한다.

728x90
반응형