06 August 2019

알고리즘은 어렵고 복잡하다는 느낌을 받고 있고 프로그래밍을 해온지 생각보다 오래 되었음에도 알고리즘은 어려운 분야 중 하나다. 그래서 이번에도 조금이라도 익숙해 지고자 이 책을 읽게 되었다. 일단 알고리즘같이 어려운 내용은 너무 두꺼우면 지치기 쉬운데 다른 책에 비해 가볍고 얇은 점이 마음에 들었다.

요즘 외출 할 때 이 책을 자주 들고 나갔었는데 들고 다니기에 부담스럽지 않은 크기와 무게다. 또 책이 두껍지 않다보니 언제 이 어려운 알고리즘을 언제 다 읽나? 하는 생각에서도 벗어날 수가 있다.

그리고 알고리즘 뿐만 아니라 파이써닉한 코드, 효율적인 코드를 작성하기 위한 팁들이 도움이 되었다.

그리고 프로그래밍 서적을 읽을 때 가장 먼저 하는 건 소스코드가 온라인에 공개되어 있나를 보는데 이 책의 소스코드도 다음의 URL에 공개가 되어 있다.

아래 저장소에 Cracking the Code Interview(코딩 인터뷰 완전분석) 라는 유명한 책의 코드를 Python 으로 썼다는 내용이 있다. 기존 코딩 인터뷰 완전분석 책에 비해 가볍게 읽을 수 있지만 핵심적인 내용들 위주로 정리되어 있다는 점이 좋다. 이 책과 함께 아래 저장소에서 소개하는 코딩 인터뷰 완전분석이라는 책도 너무 유명한 책이라 코딩인터뷰를 준비하고 있다면 함께 보면 좋을 것 같다.

이 책의 목차를 보면 기본적인 자료구조를 알고리즘과 함께 풀어볼 수 있도록 구성되어 있다.

그리고 이 책의 좋은 점 중 하나는 테스트코드가 함께 있다는 것이다. 그래서 테스트코드를 작성하는 습관까지 함께 익힐 수 있게 되어 있다.

읽으면서 가장 마음에 들었던 부분은 6.2 좋은 습관6.3 단위 테스트부분이었다. 여기에는 가상환경, 디버깅, 프로파일링, 단위 테스트 내용이 나오는데 프로그래머로 성장하는데 있어 챕터 이름 그대로 좋은 습관이라 생각된다.

또, 위에서 소개했던 코딩 인터뷰 완전분석 이라는 책의 소스코드 위치도 함께 소개한다. 코딩 인터뷰 완전분석이라는 책도 코딩테스트를 공부하는 사람들에게 필독서인데 이 책을 통해 파이썬으로 가볍게 읽어보고 코딩 인터뷰 완전분석을 읽으면 좋을 거 같다는 생각이 든다.

아래 책은 Cracking the Code Interview의 Python 버전 저장소이고 이 책보다 조금 난이도가 있다. 그래서 입문자라면 이 책을 먼저보고 아래 저장소를 보고 따라해 보는 걸 추천한다.