DAMPER's blog

[서평] Do it! 알고리즘 코딩테스트 (파이썬편) 본문

Problem Solving/후기

[서평] Do it! 알고리즘 코딩테스트 (파이썬편)

DAMPER 2022. 8. 26. 04:04
728x90

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=299409119 

 

Do it! 알고리즘 코딩 테스트 : 파이썬 편

네이버, 카카오, 삼성, 라인 등 주요 IT 기업의 시험에 나오는 알고리즘 내용이 모두 담겨 있다. 책에 수록된 알고리즘 문제 100개는 모두 최신 기출 유형을 반영하고 있어서 이 책의 문제만 다 풀

www.aladin.co.kr

 

 

좋은 기회가 되어 이지스퍼블리싱의 'Do it! 알고리즘 코딩 테스트 파이썬 편(김종관)' 의 서평단을 하게 되었습니다.

기회를 주신 이지스퍼블리싱 관계자님께 감사 말씀을 전합니다.

 

현재 IT관련학과 4학년이기도 하고, 알고리즘 관련 동아리에서 튜터로 활동한 경험을 바탕으로 책을 학습자의 입장과 지도자의 입장에서 바라보려고 노력했습니다.

 

먼저 총평입니다.

책 표지의 문구처럼 코딩테스트를 처음 준비하는 취준생의 필독서입니다.
하지만 코딩테스트에서 합격하기 위해서는 자료구조와 알고리즘에 대한 어느정도 기초 지식이 필요합니다. 이 책은 독자가 어느정도 기초 지식을 갖춘 상태임을 가정하고 있다고 생각합니다. 파이썬 문법을 갓 배운 학습자가 이 책을 통해 코딩테스트 준비를 한다면 버거울 수 있습니다. (버겁지 않다면 당신은 이미 인재!)

비유를 하자면 수학 기본서가 아닌 수학 기출 문제집에 가깝습니다. 그렇지만 이 기출문제집은 문제와 해답만을 제시하는 것이 아닌 문제를 분석하는 과정, 손으로 풀어보는 과정, 직접 코드를 작성하는 과정 등 코딩테스트를 준비하는 학습자가 많이 소홀히하는 부분을 밥상차려 먹여주기까지 하는 아주 친절한 책입니다.

 

책의 맨 뒷페이지를 보면 이지스퍼블리싱에서 출판하는 Do it! 관련 책들이 소개되어있을 뿐만 아니라 코스까지 소개하고 있습니다. 이제 막 파이썬 문법을 익힌 학습자는 'Do it! 자료구조와 함께 배우는 알고리즘 입문' 책을 먼저 보고 이 책을 통해 코딩테스트를 준비하면 수월하게 준비할 수 있을 듯 합니다.

 

 

 

그리고 이 책을 통해 공부를 해보면서 느낀 장점과 아쉬웠던 점을 말씀드립니다.

먼저 장점입니다.

 

정말 알고리즘에 나올 법한 내용을 많이 다루고 있습니다.

책에서 제시하는 알고리즘 이론 모두 코딩테스트에서 나왔던, 앞으로 나올 내용들로 가득합니다. 쉬운 내용, 어려운 내용 모두 최근 코딩테스트에서 나오는 내용들이라 놀랐습니다. 다른 책들에서는 반영되지 않았거나 어려워서 넣지 않았거든요. 내용적으로 완성도가 높다고 생각합니다.

 

 

각 단원에서 이론파트의 설명이 매우 자세합니다.

꽤 많은 내용들을 다루고 있어 설명하기 힘든 부분도 많았을 거라 생각이 듭니다. 하지만 이런 부분 또한 설명이 매끄럽게 진행되었다고 생각합니다. 특히 5페이지 분량의 세그먼트트리 설명을 보고 충분한 그림과 설명으로 학습자들이 이해하기 쉽게 설명되어 있습니다. 세그먼트트리는 학습자 입장에서는 생소하고 지도자 입장에서는 설명하기 귀찮고 까다로운 내용이라고 생각합니다. 이를 다섯페이지 설명으로 깔끔하게 설명하고 있음에 감탄했습니다.

 

 

문제마다 4단계를 제시해 학습자가 좋은 방향으로 연습할 수 있도록 도와줍니다.

책에서 제시하는 4단계는 코딩테스트 연습 뿐만아니라 코드를 작성하는 과정에서 전반적으로 중요하다고 생각합니다.

하지만 학습자는 이 과정이 귀찮아서 생략하거나 중요하지 않게 생각하는 경우가 많은데 이를 모든 문제에 제시하면서 학습자가 한 4단계와 책에서 진행한 4단계를 비교할 수 있고 더 좋은 방향으로 나아갈 수 있게 도웁니다.

이 부분이 이 책의 최대 강점이자 핵심이라고 생각합니다.

 

 

다음은 이 책을 통해 공부해보면서 아쉬웠던 점입니다.

100문제를 4단계에 거쳐 풀이 설명을 구성하다보니 이 부분에서 아쉬운 점이 몇가지 있습니다.

 

책에서 소개되는 문제와 문제를 해결하는 4단계와의 사이의 공백이 필요합니다.

문제를 소개하고 바로 다음 줄에 문제 해결 4단계를 제시합니다. 문제를 읽고 아직 문제 해결에 대한 아이디어를 떠올리지 못했는데 자연스럽게 문제 분석을 읽고 있던 적이 꽤 있습니다.

코딩테스트 준비에서 중요한 부분 중 하나인 문제를 읽고 분석하여 해결 아이디어를 떠올리는 과정을 바로 답을 보는 느낌이었습니다. 문제를 언급하고 공백을 둔 다음 다음 페이지 정도에 문제 해결 4단계를 제시하면 좋을 것 같습니다.

(하지만 이미 530페이지 정도의 분량이기에 이렇게 하면 책 두께가 어마어마해지겠죠?ㅜㅜ)

 

 

모든 문제에서 그런 것은 아니지만, 1단계 문제 분석하기에서 분석하는 과정을 좀 더 자세하게 서술할 필요가 있습니다.

100문제나 이 4단계를 거치다보니 분량문제를 고민하지 않을 수 없다고 생각이 드는데요, 하지만 이 책은 코딩테스트에 초점을 두고 있기에 어떤 알고리즘을 많이 안다는 것보다 이 문제를 어떻게 바라보고 어떻게 분석하는 지가 더 중요한 포인트라고 생각합니다.(그렇기에 저자도 모든 문제에 4단계를 설명했다고 생각합니다.) 학습자는 잘하는 사람들이 어떤 시각으로 문제를 바라보았는지, 어떤 사고과정을 거쳐 문제를 분석하였는지 궁금하고 자신도 그렇게 하고싶어합니다.

설명하는 문제 수를 줄이더라도(!!) 문제 분석 과정을 조금 더 자세하게 서술할 필요가 있다고 생각합니다.

 

 

 

사실 이 책의 장점에 비하면 아쉬운점은 별 거 아닙니다. 학습자가 혼자 이 책을 보고 공부하더라도 충분이 커버 가능한 영역입니다.

 

이 책이 현재 시중에 나온 책들 중 코딩테스트에 가장 최적화된 책임은 틀림없습니다.

하지만 앞서 총평에서 말씀드렸듯 코을 처음시작하는, 또는 문법을 갓 익힌 학습자에게는 버거울 수 있지만 '코딩테스트를 처음' 준비하는 취준생에게 좋은 책입니다.

 

 

 

 

 

728x90