본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/알고리즘 & 자료구조

파이썬 알고리즘 인터뷰 - 박상길 지음 - [ 국내 코딩 인터뷰 끝판 책이 아닐까 한다. ] [6.5~7/7!!]

아기자기한 책의 표지와는 다르게 매운맛이 도사리고 있는 책이다.


 


 

 

 

점수 : 6.5 ~ 7 / 7 [ 파이썬 사용자가 없을 수도 있어서 0.5는 빼었다. ] 

★★★★★

읽은 기간 📅 : 2020년 9월 1일 ~ 2020년 12월 15일

 

이 책을 추천하는 이들 👨‍👧

  • 알고리즘 풀이에 파이썬 프로그래밍 언어를 선택한 사람들
  • 자료구조 & 알고리즘을 전체적으로 공부하고자 하는 사람들
  • 알고리즘 문제 풀이 사이트가 LeetCode인 사람들
  • 이직을 고려하고 있는 사람들 + 회사에 취직을 고려하는 사람들. [ 사실상 현업 개발자들 모두... ]

난이도 🦈 : 중간 ~ 어려움. [ 책의 문제만 보고서 풀기는 어렵다. 풀어 보고 난 이후 풀이를 보면서 이해하는 게 정말 도움이 된다. (특히 최적화 부분에서!! ) ]

관련된 책들 📚

  1. 코딩 인터뷰 완전분석의 한국판 버전이 아닐까 한다. [ 그만큼 해당 책은 엄청난 가이드가 되어 준다. ]
  2. 알고리즘답게 머리를 쥐어짜게 만들어준다.
  3. 해당 책은 한번 읽는다고 습득될만한 책이 아니다. 리뷰하고 마인드맵으로 그려봐야 겠다.

 

한줄 평

"자료구조 & 알고리즘을 단기적으로 학습하고 취업준비하는데 도움을 주기 보다는 자료구조 & 알고리즘 역량이 탄탄한 기본 체력이 되어주도록 도와주고 안내하는 책"


책에 대한 리뷰

 

이 책을 읽으면서 든 저자에 대한 느낌은 꼼꼼하면서 자상하고 엄격하게 따끔하면서도 누군가를 포용할 줄 아는 사람의 감정이 들었다는 것이다.

그러한 점에서 이 책은 알고리즘 & 자료구조를 공부하면서 취업을 준비하고 있는 사람을 가이드해줄 수 있는 좋은 책이라고 생각한다.

 

자료구조 + 알고리즘은 머릿속에 두고 활용하기 어려운 컴퓨터 공학의 한 분야이다.

그렇기에 대부분의 프로그래밍 언어에서는 최적화된 라이브러리를 제공하고 있다.

그래서 많은 개발자들이 알고리즘 풀이에 짜증을 느낀다.

" 이미 만들어진 것을 알아서 뭐한담! 이럴 시간에 다른 공부를 하지!! " [ 물론 다른 공부를 안 하지만..ㅠ ]

나도 그랬다. 개인적으로 시간이 아깝다고 생각하는 편이었다.

 

이 책을 보고 생각이 달라졌다.

 

이 책의 곳곳에 숨겨진 팁과 최적화에 대한 고민을 살펴보면, 알고리즘 + 자료구조를 싫어하는 개발자는 업계에 썩 도움이 되지 않을지도 모르겠다는 생각이 들었다. [ 공포스러운 느낌이었다. 내가 그런 개발자가 된다는 것은 상상조차 하기 싫기 때문이다. ]

 

개발자가 만드는 대부분의 애플리케이션의 기초와 핵심에는 자료구조와 알고리즘이 단단하게 버텨주고 있다. 

 

이 책은 그러한 중요성을 일깨워 주고 방대하고 어려운 내용을 차근차근 밟도록 도와주는 책이다.


알고리즘을 왜 공부해야 할까? [ 대부분의 개발자들의 고민일지도... ] 

 

내 주변에서 부랴부랴 취업준비를 하는 친구들이 종종 있다. [ 대부분 눈 앞에 급급해야 몸이 움직이는 법! ]

그들의 공통점이 있다.

바로 "차근차근 알고리즘 공부해, 지금 당장 알고리즘부터 공부해!"라고 조언해준 다는 것이다.

 

하지만 모두가 그렇듯 눈앞에 급급한 상황이 아니라면 느긋하게 준비하는 편이다. [ 나도 그랬다... ]

데드라인은 저 멀리 있고, 내 눈앞에 할 일도 어느 정도 있으니 말이다.

이는 학교 과제에서도 그랬고 시험에서도 그랬다.

 

"매일매일 공부하셔야 어렵지 않아요."

"매일매일 진척이 있어야 문제점을 빨리 알아차릴 수 있어요."

 

하지만 매일매일 꾸준히 하는 사람은 드물다.

매일매일 이 불규칙적인 사람에게는 더욱더 힘들다.

 

하지만 나에겐 나만의 강점이 있다.

"규칙적인 삶"이다.

 

하루 1시간의 알고리즘 투자

이 책은 하루 1시간의 알고리즘 투자로 4달 만에 완독 하게 된 책이다.

물론 매일매일 본 것은 아니다. 시험기간 + 과제가 바쁜 날에는 쳐다도 보지 못 한 적이 있다.

그래도 꾸준히 봤다.

미뤄지면 미뤄진 만큼 주말에 할당했다.

이 책을 읽는 데 투자한 시간은 80~100시간 가량이다. 

하지만 문제를 풀 거나 고민할 때는 1시간 ~ 2시간 정도 걸리기도 하니 이 책을 읽는데 사용하는 시간은 개개인마다 다를 것이다.

 

하루 1시간 알고리즘을 공부하면서 든 생각은 무엇이었을까?

이 책을 읽기 전에는 이 책으로 알고리즘 + 자료구조를 마감해버리고 싶었다.

시원하게 읽고 다신 보지 말자!!라는 마음으로 말이다.

 

하지만 책을 읽고 난 이후 생각이 달라졌다.

"아직도 나의 기본적인 자료구조 + 알고리즘 지식은 미비하는구나.."

연마할 필요성을 느끼게 되었다. 그래서 이 책을 다 읽었지만 옆에 두고두고 볼 생각이다.

해당 문제를 자바로도 풀어볼 생각이다.

 

다음은 코딩 인터뷰 완전 분석이다.

그다음은 리얼월드라는 알고리즘 책이다.

앞으로의 2권의 책을 읽고 취업 준비를 위한 알고리즘 문제를 풀어볼 생각이다.

내년 6월까지 읽는 것을 목표로 하고 6월부터는 주 3~5문제의 알고리즘 풀이에 시간을 사용할 예정이다.

 

개발자들에게 알고리즘 + 자료구조가 너무 스트레스로 다가가지 않았으면 좋겠다. 

 

최근에 읽고 있는 "창조력 코드"라는 책에서 과거 수학에 대한 이야기가 나온다.

수학 문제 풀이는 벽화에서도 발견되곤 하는데

당시에는 쓸모없는 문제풀이이고 실용적이지도 않은 문제인데 이런 것을 왜 만들었을까 하고 연구자들이 고민했다고 한다.

 

그건 그저 재미를 위해서였다고 한다.

퀴즈 같은 것 순수하게 생각만으로 답을 얻어보는 것

과거에는 그것이 흥미롭고 재밌었나 보다.

 

개발자에게도 알고리즘 풀이는 그런 게 아닐까?

누군가에게 정말 재미없어 보이지만, 개발자들에게는 뇌를 재밌게 사용하는 대상이 되어주는 것이다.

스도쿠, 퍼즐, 큐브, 보드게임처럼 생각해보길 바란다.

 

너무 꼰대스러웠을지 모르겠지만

피할 수 없으면 나름 즐길 수 있는 사고방식이 아닐까 한다.

 

책에는 알고리즘과 관련된 비화도 많다.

그 점은 알고리즘을 익힐 때 더 재밌는 요소가 되어준다.

 

좋은 책을 집필 해주신 박상길 개발자님[ 저자 ]에게 감사하다.

그리고 알고리즘을 이해하는데 시각적인 도움을 준 정진호 일러스트님에게도 감사하다.

 


파이썬 알고리즘 인터뷰

 

파이썬 알고리즘 인터뷰:95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트, 책만

 

반응형