-
-
쓰면서 익히는 알고리즘과 자료구조 - 알고리즘 설계 캔버스를 작성하며 배우는 알고리즘 문제 해결 전략
윤대석 지음 / 한빛미디어 / 2021년 3월
평점 :

알고리즘 공부를 시작했다.
알고리즘의 필요성에 절절히 동감했다기보다는 '이직할까...?' 하니 이름 좀 있다 싶은 곳은 코딩 테스트를 안 보는 곳이 없어서.
(재미없어서 미적미적하는 둥 마는 둥 하고 있다.)
몇 권의 알고리즘 책을 가지고 있다.
이 책이 기존 책들과 다른 점이 몇 개 있는데, 개중 흥미로웠던 것은 노트 레이아웃을 이용해 문제에 접근하는 방법을 알려주고 있다는 것.
알고리즘 설계 캔버스?

그렇다고 한다.
배열, 문자열, 연결 리스트, 스택, 재귀, 큐, 트리, 동적 프로그래밍, 정렬 알고리즘까지. 총 8개의 챕터로 구성되어 있다. 이론적인 설명을 시작으로 위에서 이야기한 노트 레이아웃을 통해 문제에 접근하고 풀이 과정을 스텝 바이 스텝으로 진행한다.
프로그래밍 처음 배울 때 다짜고짜 키보드에 손부터 올리지 말고 항상 노트를 가까이하라는 이야기를 들었었다. 다짜고짜 키보드에 손부터 올리면 정신없이 코드를 짜다가 '어엇' 하면서 많은 것들 다시 뜯어고치거나 때로는 아예 처음부터 다시 짜야 할 경우도 생긴다.
알고리즘도 어떤 식으로 문제에 접근하고 풀어나갈지 먼저 방향을 잡고 들어가야 한다는 건 알고 있었는데 '알고리즘 설계 캔버스'라는 게 있는지는 처음 알았다.
노트를 채워가는 과정이 곧 사고 흐름의 방향을 결정하는 일이라 매우 유용하다고 느꼈다.
예전 프로그래밍 처음 배울 때, 틈만 나면 손 코딩하던 시절 생각도 나고, 노트 정리 덕후로서도 꽤나 마음에 드는 방법.
이론 설명 → 노트 레이아웃을 이용한 문제 접근 및 풀이 → 관련 문제 사이트
이런 구성으로 각 챕터가 전개되는데, 아예 처음 들어보는 개념이 아니라면 관련 문제 사이트 접속해서 문제 먼저 풀어보고 이론, 노트 레이아웃을 봐도 좋겠다.
기존 책들이 다양한 케이스의 문제와 풀이 방법에 초점을 맞추고 있다면, 이 책은 문제에 접근하고 해결해나가는 과정 그 자체에 초점을 맞추고 있다.
알고리즘 책 몇 권을 가지고 있음에도 잘 선택한 책이라는 생각이 든다.
**
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다.
**