서평 처음 만나는 알고리즘

1 minute read

요즘 종일 Vue.js만 보고 있었더니, 함께 일하는 나이 지긋한(?) 개발자께서 이런 말을 하신다.

기초를 잊으면 안된다.

이에 자극받아 알고리즘 문제를 하나 풀어보았는데, 도통 되지를 않는다. 가만 생각해보니 퀵 정렬이 무엇인지조차 기억이 나지 않는다. 나름 열심히 알고리즘을 공부한 적도 있었는데…

하지만 현업 개발자로서 알고리즘을 공부하는데 시간을 따로 내기란 쉽지 않은 일이다. 그래서 일단 쉬운 책 한 하나라도 떼어보자고 결심했다. 아무튼 시작이 반이니까. 그래서 집어든 책이 이 책, 처음 만나는 알고리즘이다.

이 책의 장점은 정말 술술 읽힌다는 것이다. 누워서도 재미있게 읽을 수 있다. 그렇다고 대충 이런게 있다 너희들은 모르지 하고 넘어가지 않는다. 독자의 머리 속에서 계속 연산을 시킨다. 어떤 문제를 해결하려고 하는지, 어떻게 접근하면 좋을지, 처음-두번째-세번째 케이스를 넘어 일반화시키는 단계에 이르기까지, 의식의 흐름에 따른듯한 설명을 읽다보면 내가 책을 읽고 있는게 아니라 나 자신이 스스로 알고리즘을 짜고 있는듯한 착각마저 든다.

이 책의 단점이라 하면 그야말로 초보자용 책인지라 깊은 내용과 더 어려운 알고리즘까지는 다루지 않았다는 점을 들 수 있겠다. 하지만 초보자용 책에 너무 많은 것을 바라면 안 될 것이다. 어짜피 알고리즘 공부를 이 책 한 권으로 끝낼 것도 아니지 않은가. 흡사 무기와도 같은 두께의 알고리즘 책은 수없이 많다.

이제 다시 알고리즘 공부를 각잡고 시작해보려고 한다. 예전에 만든 알고리즘 저장소도 있기는 하지만, 1년 만에 다시 보니 이게 정말 내가 올렸던 코드가 맞는지조차 의심스러울 정도로 잊혀져버렸다… 그래서 과감히 새 알고리즘 저장소를 팠다. Witness me!

Leave a comment