본문 바로가기
Book Review/IT

책 리뷰 : 코딩 인터뷰를 위한 알고리즘 치트시트

by 멘탈은안녕하신가 2022. 10. 22.
728x90
반응형

"<Jpub 전문서 리뷰어>" 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

제목 : 코딩 인터뷰를 위한 알고리즘 치트시트


- 대상독자

 책에서는 입문자에게 적합하지 않으며 데이터 구조(크게 큐, 스택, 배열, 링크드 리스트) 등의 기초적인 내용을 알고 있으면 어렵지 않게 읽을 수 있을 것이라고 밝힘.

 

 

- 책의 내용 및 구성

1. 리트코드(LeetCode) 라는 코딩 인터뷰 문제 풀이 사이트의 문제를 검증된 방법(지은이가 깃허브에서 10만개의 스타를 받았다고 함)을 사용하여 풀이하는 내용.

 

2. 약 420p, 5개의 챕터로 구성되어 있으며 챕터4까지는 저자가 검증한 특정 유형의 문제를 풀 때 가장 효율적인 풀이 방법을 알려주고, 마지막 챕터5에서는 '면접에 자주 나오는 문제'라는 제목으로 아마 보통 개발자들이라면 몇번씩 보았을 코딩 인터뷰 단골 문제의 풀이를 알려줌.

 

 

- 책에서 눈에 띄는 점

1. (개인적으로) 중화권 저자의 책은 처음 보는 듯 함.

2. 코딩 테스트(풀이 인터뷰)에서 가장 많이 사용되는 언어 3가지(C++, JAVA, 파이썬3)를 풀이에 모두 활용

3. 3가지 언어를 다 활용하는건 좋은데, 특정 문제에 어떤 언어를 썼는지 설명이 없음(아무리 '언어별 특성을 피하려고 노력했다' 라고 언급하고 언어들이 거기서 거기라고 하지만 3가지 언어를 어느정도는 읽을 수 있어야 하는것 아닌가 싶음)

4. 저자는 세가지 언어를 사용하는 이유를 '알고리즘 문제를 푸는 것은 생각의 흐름을 훈련하는 것으로 특정 프로그래밍 언어에만 국한되지 않는 것이 좋다고 생각하기 때문' 이라고 밝힘(특정 문제를 풀 때 가장 효율적인 언어를 사용하면 좋다고 말하는 것 같음)

5. 최적(효율)을 따지는 와중에도 여러번 생각하고 같은 것을 여러번 변경하면서 확인해야 하는 풀이 방법등에는 그림을 활용하여 이해를 도움

 

 

- 총평

 그동안 책을 읽을 때 저자가 어디에 살았는지 등 저자에 대해 관심은 별로 없었다. 하지만 책을 쭉 읽다보니 담담하게 풀이만 쭉 이어가는 약간 답답한 느낌(그동안 대부분 읽었던 책들은 선배가 알려주는 팁(?) 이나 비유들이 적절하게 섞여가며 쉬어가는 타임이 존재했었다면 이 책은 그런게 없는 듯)과 전체적으로 정리가 안된 듯한 심심한 느낌이 기존에 읽었던 책들과는 느낌이 사뭇 달라서 저자를 확인하게 되었다. 중화권 개발자들도 만만치 않게 실력이 좋은 사람이 많다는건 알고 있었다(Vue도 중화권에서 만든걸로 알고 있음). 중구난방스런 느낌이 나는 것은 멀티태스킹에 능하고(?) 다른 내용으로 새지 않고 할 말만 하는 것은 맡은 일은 끝까지 밀고 나가는 우직함(?)이 그들의 실력을 높혀주는게 아닐까 싶다.

 

 확실히 나와는 그렇게 맞는 책은 아닌것 같다. 물론 '공부'를 한다는 측면에서는 이런 책을 보는게 맞겠지만... 이렇게 딱딱한 느낌이 난다면 아무리 좋은 책이라도 손이 많이 가지 않는다. 마치 수학의 정석같은 느낌이랄까... 저자가 말하는 것처럼 이 책은 '참고서'로써 원하는 내용만 골라본다면 매우 훌륭한 책이라고 생각 될 것 같다.

 

 나와 잘 안맞는다고 얘기했지만 다른건 몰라도 마지막 챕터5 '면접에 자주 나오는 문제'는 그간 마주쳤을 때 어떤식으로 풀이를 했었는지와 비교해보며 재미나게 읽을 수 있었다. 다른건 몰라도 이 챕터는 코딩 인터뷰를 준비한다면 한번쯤은 읽어보면 좋을 것 같다.

 

 챕터의 구성이 난이도별로 이뤄지진 않았다고 생각한다. 어떤 기법을 사용해 문제를 푸느냐에 따라 나눠졌다고 생각하는데, 정리가 안됐다고 느낀 이유중에 하나는 역시 '어떤 언어를 사용했느냐'를 기입하지 않았기 때문이 아닐까 싶다. 다양한 언어를 알아보는 개발자가 대상 독자가 아닌 이상, 특정 제약을 최대한 방지해서 했다고 해도 대상 독자를 생각하면 한가지 언어를 특정해서 진행을 했거나 어떤 언어를 사용해서 왜 이 언어를 사용했는지 정도는 설명이 되었어야 하지 않나 싶다.

 

 책 제목이 왜 치트시트인지는 잘 이해가 가지 않는다. '치트시트' 검색 결과 '골프에서, 코스 도표와 야드로 잰 전체 코스의 길이를 나타낸 차트를 말한다.'라고 하는데, 전체적인 핵심 내용을 알 수 있기 때문일까? 아니면 치트같은 풀이 방법을 제시하기 때문일까? '유레카!'를 외치지 않는 이상 이걸 치트라고 정한 이유는 잘 모르겠다.

 

몇가지 아쉬운점이 있지만 괜찮은 책임에는 분명하다. 장점도 뚜렷하고 단점도 뚜렷하다. 읽는 사람의 성향 차이가 존재하는 것 뿐, 코딩 인터뷰를 준비하는 취준생, 이직 준비 개발자 들이 책을 고를 때 한번쯤은 리스트에 올려놓고 비교해보거나 읽어보면 좋을 것 같다.


728x90
반응형

댓글