파이썬 알고리즘 인터뷰 - 95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트, 2021 세종도서 학술부문
박상길 지음, 정진호 그림 / 책만 / 2020년 7월
평점 :
장바구니담기


다들 알다시피 원하는 좋은 IT분야의 기업에 가기 위해서 코딩인터뷰 준비는 필수이다. 이를 위해 자료구조/알고리즘은 많이 공부하지만 실제 코딩테스트를 준비하거나 응용력을 높이기 위해 어떻게 해야 할지 어려운 경우가 많다. 관심이 있는 친구들이면 코딩인터뷰 완전분석 cracking the coding interview 책 또는 다양한 알고리즘 책이나 백준온라인저지, codility, leetcode 프로그래밍 사이트에서 실력을 테스트 해보기도 한다.


 우선 이 책은 실제 카카오 코딩인터뷰 문제를 준비한 박상길 저자분이 작성하여 카카오 및 리트코드 사이트의 문제를 다루고 있다. 그리고 막연히 문제를 풀어내고 이렇게 하면된다. 라기보단 자료구조와 알고리즘 카카오 공채 문제를 갖고 설명해준다. 실제 마인드 맵을 통해 배열, 연결리스트, 스택, 큐, 데크, 우선순위 큐, 해시테이블, 그래프, 최단경로, 트리, 힙, 정렬, 이진검색, 비트조작, 슬라이딩윈도우, 그리디 알고리즘, 분할 정복, 다이나믹 프로그래밍 등 목차별로 학습할 수 있다.

 

사실 온라인으로 문제를 풀때는 자기가 잘하는 언어로 풀이를 해도 좋지만, 시간적인 제약사항등을 생각하지 않을 수 없다. 수도코드로는 생각해냈어도 표현하는 개발언어를 어떤걸 선택하느냐에 따라 시간이 부족하거나 남을 수도 있는데 아무래도 요즘 대세는 파이썬3이 아닐까 싶다. 그런점에서 이 책에서 파이썬을 위주로 진행된다. 그렇다고 파이썬을 그냥 쓰면 되요 라기보다는 왜쓰는지 그냥 쓰면 안되고 필요한 고급문법은 어떤건지 친절하게 설명해주고 있다. 기초파이썬 책에서 놓치기 어려운 내용을 잘 담아두고 있다.


 실제 문제로 들어가보면 하나의 문제를 갖고도 많은 접근방식이 있을 수 있음을 포용하고 있다. 보통 다른 책들에서는 하나의 문제에 하나의 풀이만 갖고 설명하는 경우가 많이 있다. 하지만 우리가 실제 비즈니스 로직을 코딩하고 코드리뷰를 통해 하나의 방법만 있는 게 아닌 여러 개의 방법이 있는 경우 개선하거나 검증할 수 있는데 이 책에서는 그런 점이 잘 녹아 있다. 예를 들어 첫 번째 문제는 ‘유효한 팬린드롬’인데, 풀이가 리스트로 변환, 데크자료형을 이용한 최적화, 슬라이싱사용, c언어(?)까지 4가지 방식을 설명해주고 있다. 그리고 각각의 풀이 방식에 따른 실행시간을 비교해 알려주었고, 필요할 때마다 파이썬 문법 팁도 있다. 

 


솔직히 책을 보면서 코딩인터뷰를 준비하는 목적보다도 파이썬을 이용한 자료구조/알고리즘을 통해 문제풀이 능력을 키우고 싶은 생각이 든다. github에 제공된 소스를 갖고 직접 해보고 디버깅해보며 데이터가 흘러가는걸 보면서 재밌다고 생각한다.

그리고 부록으로 회사 및 이직가이드 와 카카오 공채문제 풀이도 제공되는데 모두 좋은 내용이라 처음부터 끝까지 잘 챙겨보면 좋을 것 같다. 그리고 아무래도 내용이 충실하다 보니 두께가 좀 있는 편인데(724쪽) 원하면 내용을 분철해서 다녀 갖고 봐도 좋을 것 같다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo