이 책은 처음으로 완독한 알고리즘 관련도서이다. 처음 아무것도 모르는 시절에 알고리즘을 공부할때 doit시리즈 중에 "자료구조와 함께 배우는 알고리즘 입문 - 자바편"을 공부하다가 중간에 때려쳤던 기억이 있다. 꽤 오래전이었던 것 같은데, 최근에 다른 무엇보다 필요성을 절실히 느껴서 알고리즘 공부를 시작하게 되었다. 블로그를 탐방하면서 이곳저곳 돌아다니는 것을 좋아하는데, 몇몇 블로그에서 설명하는 글이 도저히 이해가 안되서 많은걸 느꼈던 것 같다. (이유는 알고리즘에 대한 지식이 부족해서였다.) 사실 어느정도 공부해야겠다는 생각을 하고 있었지만 여태 회피해오지 않았나라는 생각이 들었다.
서론이 길어졌고 미리 책에 대해 요약을 해주면 파이썬을 이용한 알고리즘을 제대로 가르쳐준다는 느낌이 들었다. 파이썬을 이용한 테크닉을 알 수 있는 책이고, 그런 테크닉을 이용해서 똑같은 문제를 여러번 푼다. 여러번 풀면서 빅오를 개선시키기도 하고, 어떨때는 개선될것 같은 이 해결법이 왜 안되는지에 대해서도 친절히 설명해준다.
굉장히 많은 문제가 나오는데, 개중에는 어느정도 난이도가 있는 문제들도 있다. 따라서 파이썬을 모르거나 알고리즘과 자료구조를 처음 접한다면 조금 어려울 수 있는 책이다.
만약 파이썬에 대해서 익숙하지 않거나 혹은 이전에 공부를 한 적이 없어서 알고리즘과 자료구조에 대해서 감을 잡지 못한 사람이라면 오히려 이 책보다는 나동빈님이 쓰신 "이것이 취업을 위한 코딩 테스트다. with 파이썬"이 더 나을 수 있다.
이 책도 친구들에게 추천을 받아서 최근에 읽어본적이 있는데, 정말 재밌는 책이다. 알고리즘에 도움되는 건 둘째치고 책이 상당히 재밌다. 저자가 자신이 예전에 고생했던 부분들을 풀어서 쉽게 설명하려고 했다는 글을 써놨던게 있었던것 같은데 맞는 말이라는 것을 책을 읽어보면 알 수 있다. 재밌게 읽고 싶다면 아래 책을 추천한다.
이것이 취업을 위한 코딩 테스트다 with 파이썬 - 교보문고
취업과 이직을 결정하는 알고리즘 인터뷰 완벽 가이드 | 이런 독자에게 권합니다.■ IT 직군의 취업 준비생 / 예비 개발자■ 이직을 준비하는 개발자■ 알고리즘 대회를 준비하는 학생[특징]코딩
www.kyobobook.co.kr
하지만 그런 것이 아니고 본인이 파이썬에 어느정도 익숙하고, 한 언어를 공부해본 경험이 있어 프로그래밍에 대한 감이 잡혀있으며 자료구조와 알고리즘에 대해 미약하게나마 안다면 "파이썬 알고리즘 인터뷰" 이 책이 오히려 더욱 도움이 될 것이라고 생각한다.
애매하게 알려주지 않고, 확실한 개념을 알려주고 있는데 부연 설명이 필요한 개념에 대해서는 꽤나 깊은 내용을 설명해준다. 그리고 그러한 내용들이 대부분 파이썬의 언어 철학과 관련된 부분인데, 이런 테크닉적인 부분은 확실히 도움이 될 것이라 생각한다. 물론 언어에 종속적이 내용이라 다른 언어에서는 적용되기 힘든 부분들이 어느 정도 있는 것은 사실이다. 그리고 그러한 부분들은 해당 언어를 사용할때 또 추가적인 공부를 진행하면 될 부분들이다.
책을 보면서 이해가 가지 않는다면 다른 블로그에서 정리해놓거나 혹은 자신의 풀이를 다른 방식으로 적어놓은 것을 참고하는 것을 권장한다.
내가 실력이 부족해서인지 완전히 이해가 가지 않는 코드가 세네개 정도 있던 것으로 기억한다.(솔직히 말하면 지금도 잘 모르겠다.) 계속 읽어보다가 도저히 모르겠어서 세네개정도를 패스했다. 현재로서는 세네개로 줄어든 상황인데, 책을 처음 공부할때는 꽤 많은 예제에서 어떻게 돌아가는지를 많이 고민했던 것 같다. 위에서 말했던 것처럼 다른 블로그를 참고함으로써 결국엔 해결했지만, 가볍게 읽다가 점점 풀이가 다양해지면서 집중을 요하는 부분들이 몇군데 있다. 그래서 문제가 쉽다고 생각하여 파이써닉한 방식으로 푸는 방식을 슬쩍 보고는 긴장을 풀었다가는 새로운 풀이방식에서 당황하게 될 수도 있다.
알고리즘 전반에 대해 설명하고 있으면서도 원론적인 얘기 외의 이야기도 진행한다. 개인적으로는 그런 부분들이 마음에 들었다. 제목에 파이썬 알고리즘이라고 되있지만 인터뷰라고도 말하고 있다. 인터뷰를 어떻게 진행해야할지 이론이 아닌 부분들이 어느정도 분량이 되는데 정말 재밌게 읽었다. 재밌어서 그 챕터만 두번 읽었다...
내용 중에서 갸우뚱하는 부분이 있었는데 내가 이상하다 싶어서 지나친 부분들이 있었다. 나중에 이유를 찾게 되었는데 바로 정오표에 그 해답이 있었다. 반드시 정오표를 한번 보는 것을 추천한다. 대개의 경우 어느정도 감으로 넘겨짚을만한 부분이지만 몇개 되지는 않지만 일부 코드에서는 완전히 정반대로 적혀있는 경우가 있어서 그런 부분들에서 헤매지말고 혹시나 하는 마음으로 굳이 정오표를 참고해봤으면 한다.
(정오표를 찾아보고나서 내가 완전히 헤맸던게 아니라서 안도했다.)
정오표:
https://www.onlybook.co.kr/entry/algorithm-interview-errata
[정오표] 파이썬 알고리즘 인터뷰
# 2020년 10월 30일 전자책 1.0 정오표 p85. enumerate 설명 1째줄 순서가 있는 자료형 -> 여러 가지 자료형 ※ 이와 관련한 자세한 설명은 #73 이슈를 읽어주시기 바랍니다. p185. 코드 중 아래에서 2째줄
www.onlybook.co.kr
구매링크:
파이썬 알고리즘 인터뷰 - 교보문고
95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트 | [이 책의 구성][1부 코딩 인터뷰]1장, ‘코딩 인터뷰’에서는 코딩 테스트에 대한 소개와 어떻게 하면 시험을 잘 치를 수 있을지, 문제 풀이
www.kyobobook.co.kr
'기술 서적 리뷰' 카테고리의 다른 글
[기술서적] readITzine #3 - 앞으로 계속 나아가기 (0) | 2022.01.22 |
---|---|
[기술서적] 스프링 퀵 스타트 - 채규태 (0) | 2021.08.19 |
[기술서적] 생계형 개발자, SI에서 살아남기 개정판 - wikidocs - 리뷰 (0) | 2021.03.01 |
[기술서적] 모던 자바스크립트 입문 - 이소 히로시 (0) | 2021.02.27 |
[기술서적] 처음 해보는 Servlet&JSP 웹 프로그래밍 - 오정임 (0) | 2021.01.19 |