"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
시작에 앞서
이 책은 코드가 (거의) 없는 알고리즘 책이다. (코드는 파이썬이다.)
드디어 올해 졸업반이다. 올해의 목표는 칼취업이다. 따라서 6대 과목을 전부 맛보고 조금씩 코테 감각을 끌어올리는 느낌으로 지내고 있다. 자료구조 알고리즘은 무시무시한 과목이자 코테에 필요한 덕목인지라 이 책을 고르게 됐다. 알고리즘 책을 사서 본 적이 없다보니 한 번 읽어보면서 이론적 맥락과 구현 방법을 전체적으로 톺아보고 싶었다.
책의 이름은 (그림으로 개념을 이해하는) 그로킹 알고리즘
이 책의 제목은 이러하다. 그림이 진짜 많고 귀엽다. 그림은 러프한 스케치처럼 보여서 알고리즘 문제를 풀 때 종이나 패드에 끄적거린 느낌이라 단순하고 직관적이다. (그림은 못그리려고 하지만 은근히 잘 그렸다.)
그로킹이라는 말의 뜻도 찾아봤다. 어떤 소설책에 나온 용어로, 이 책에서 화성인들은 무언가에 대한 심오한 이해 또는 깊고 직관적인 파악을 묘사할 때 이 단어를 사용했다. 무언가를 '파악'한다는 것은 그것과 하나가 되거나 그 본질을 완전히 이해할 정도로 철저하게 이해한다는 뜻이라고 한다.
알고리즘이 필요한 이유를 상상력과 함께 설명해준다
알고리즘을 설명할 때, '상상해보죠', '가정해봅시다'와 같은 말로 시작한다. 코드는 진짜 아주 짧게 주는 느낌이다. 그런 의미에서 파이썬을 몰라도 충분히 읽을 수 있다. 파이썬은 굉장히 직관적인 언어라 수도코드 느낌으로 읽어도 되지 않을까 싶기도 하다.
동화책, 그림책을 읽듯이 자연스럽게 상상하면서 읽다보면 복잡도, 정렬, 배열, 기타 등등에 대해서 다룰 수 있기에 정말 좋다.
코딩을 처음 시작할 때 백준을 풀기 위해서 처음 도서관에서 잡고 읽었던 책이 코드 없는 알고리즘과 데이터 구조인데, 이런 계열의 책은 정말 쉽고 잘 알려준다. 간만에 공부를 하기 좋다.
다루는 알고리즘
크게 두 파트로 볼 수 있는데, 메인은 코딩테스트에서 자주 보는 알고리즘이며, 머신러닝에서 들어본 것 같은 알고리즘과 추가로 공부해보면 좋을 알고리즘을 서브로 다룬다.
메인이 되는 코딩테스트에서 자주보는 알고리즘은
코테 준비하면서 자주 마주하는 대중적인 알고리즘을 다룬다. 정렬, DP, 그리디, BFS, 다익스트라 등등을 다룬다. 나같은 비전공자, 자료구조 알고리즘을 공부하지 못한 저학년 학생들은 일단 이런 책을 읽으면서 개념을 잡는게 정말 좋다고 생각했다. 코드가 별로 없는게 큰 장점이다.
읽고 얻은 것
아무래도 소마 합격 이후에는 코딩테스트 준비 자체를 안하다보니 코테 감각이 떨어진 것을 느껴서 방학동안 실버 수준이지만 문제를 종종 풀었다. 학기 중엔 골드1이 되버린 백준 계정을 플래5로 올릴 계획인데, 그 것에 큰 도움이 될 것 같다.
나는 방학 중에는 자바스크립트로 코테 준비를 해보려는 만용을 부렸다. 큐, 힙을 클래스로 직접 구현해야하는 고통을 겪어보니 파이썬이 최고다. 파이썬은 심지어 콤비네이션도 함수가 잘 빠져있다...
그래서 이 책을 기반으로 다시 파이썬 코드를 읽어보면서 감각을 조금 찾는 기분이 들었다. 너무 좋다.
올해 2학기가 지나면 졸업이고 면접을 볼텐데, 만약 (그럴 일은 없겠지만...?) 다익스트라 알고리즘을 설명해보세요. 같은 것을 물어본다면 지난달의 나는 코드로 구현은 할줄 알아도 어떻게 설명할지 답답했을 것 같은데, 이젠 될 것 같다. 글과 그림이 많다는 점도 이해하고 설명하는 방식도 밴치마킹할 수 있기에 면접 준비에도 내 기준에선 도움이 되는 책 같다.
'리뷰 > Book' 카테고리의 다른 글
책 리뷰 '혼자 만들면서 공부하는 파이썬' (0) | 2025.03.27 |
---|---|
책 리뷰 'AGI의 시대: 인간을 초월한 인공지능, AGI를 논하다' (1) | 2024.12.29 |
책 리뷰 '오픈 : 비즈니스 패권의 열쇠' (9) | 2024.10.26 |
책 리뷰 '코드 밖 커뮤니케이션' (4) | 2024.09.29 |
책 리뷰 '실무로 통하는 클린 코드' (0) | 2024.08.26 |