"제이펍에서 책을 제공받아 작성된 서평입니다."
책 신청 이유
비즈니스 로직에만 집중해서 코딩 그리고 일정에 치여서 개발을 하다 보니 좀 더 최적화해서 코딩을 하고 싶은 열망이 많았습니다. 또한 요즘은 구인 구직을 할 때도 알고리즘은 필수이기 때문에 신청을 하게 되었습니다.
그리고 무엇보다 최근에도 이직준비하면서 LeetCode를 이용해서 코딩 테스트를 하게 되어서 제가 안 풀어본 문제 또한 책에 많이 있는 것 같아서 신청을 하였습니다.
목차
- 언어 기초
- 핵심편
- 동적 계획법
- 데이터 구조
- 알고리즘 사고
- 면접에 자주 나오는 문제
- 부록 LeetCode 가이드
서평
이 책의 대상 독자로는 입문자에게는 이 책이 적합하지 않다고 저자는 책에 적어놓았습니다. 적어도 데이터 구조에 대한 지식이 없다면 먼저 데이터 구조 관련 서적을 읽고 서적을 읽으시길 추천드리고요.
이 책은 LeetCode에서 많은 문제를 채택하였으며 또한 문제 해결 방식도 해당 플랫폼의 표준을 따릅니다.
그리고 LeetCode를 풀어보신 분은 문제가 정답이라도 해당 문제를 효율적으로 풀었는지 까지도 체크합니다.
이 책에서는 다양한 코딩 규약을 통해 예시가 되어있습니다. 전 이것이 장점일 수도 있고 단점일 수도 있다고 생각합니다.
일단 이 책에서는 파이썬, C++, 자바로 예시가 되어 있습니다.
저자 도 세 가지 언어를 사용하는 이유는? 알고리즘 문제를 푸는 것은 생각의 흐름을 훈련하는 것으로 특정 프로그래밍 언어에만 국한되지 않는 것이 좋다고 생각하기 때문이라고 적혀있습니다.
문제를 풀다 보면 특정 언어로 튜플, 딕셔너리 등 컬렉션 객체를 다루기 쉬운 언어도 있고 각 언어별로 장단점이 있기 때문이라고 생각합니다.
책에서는 이렇게 재귀 트리 또한 이해하기 쉽게 그림으로 잘 설명이 되어 있습니다.
또 이진트리 노드에서도 여러 상황에 따른 그림으로 설명이 잘되어 있습니다.
그리고 저자 분께서는 책 하단에는 leetcode 문제 링크를 남겨주셔서 같이 보면 더욱더 학습효과에 좋았던 거 같아요.
아무래도 leetcode 문제들이 영어로 되어있다 보니 알고리즘은 먼저 문제의 문맥을 잘 파악을 해야 하거든요. 가끔은 책의 문제풀이 대로 읽어 가는 것보단 문제도 먼저 풀어보고 책을 보셔도 좋을 것 같아요.
이 책에서는 그래도 마지막 장에 면접에서 자주 나오는 문제 파트가 있는데
취업 및 이직 준비에 있어서 코딩 인터뷰를 준비하는데 많은 도움이 될 것 같았습니다.
댓글