개발자라면 누구나 알고리즘과 친숙할거라는 일반적인 고정관념과는 다르게, 잘 할 수도 못 할 수도 있다. 특히나, 요즘은 산업지형이 바뀌어 가면서 개발을 직업으로 삼는 사람들이 늘어나고 있어서 더 그런 생각이 보편화 되는 경향이 있다.
안타깝게도 나는 그렇지 못한 사람 중 하나였다. 특히나 내가 하던 코딩이 정말 '무에서 유'를 만들어 내는 코딩인지 의문을 정말 많이 했다. 코드를 만들때 생각을 하고, 코드가 곧 내 생각을 반영할 뿐 아니라 코드라는 도구의 효율을 최고로 끌어내는가에 대한 의문을 많이 가지곤 했었다.
그 이후 부터 알고리즘을 풀어나가기 시작했다.
비전공자라서 더 부족함을 깨닫고 자료구조, 알고리즘, 컴퓨터과학, 클린코드, 객체지향 등 닥치는대로 공부해 나갔다. 하지만 알고리즘은 정말 어려웠다. 다행이 문제를 푸는 사이트를 찾아서 부랴부랴 뒤늦게 '생각하는 코딩'을 해 나갔지만 간단한 생각을 중심으로 하던 습관을 바꾸기란 어려웠다.
이 책은 목적이 '코딩 테스트'라는 기업 입사용 테스트에 초점이 맞춰져 있는 '것' 처럼 보인다.
사실 이는 50%만 맞다고 보여진다.
자주 쓰는 알고리즘의 기본 내용을 소개하고 해당 알고리즘 지식으로 실제 문제를 푸는데 활용하는 '방법'을 소개해 준다. 흔히 서점에 난무하는 취업용 책들과 초점이 다르다는 느낌을 많이 받았다. '이렇게 하면 된다!' 보다 직접 생각을 해야 한다.
크게 자주 쓰는 '알고리즘 및 자료구조'의 개념 및 개념을 적용해서 푸는 예제가 전반부에 나오고, 후반부에 '문제'가 알고리즘별로 분류되어 수록되어있다.
요약하면, 코딩에서 알고리즘을 해결해 나갈 때 맨 처음에 보면 좋은 가교역할을 하는 그런 책이다.
수학을 아예 배우지 않았던 사람이 처음부터 미적분을 풀려고 하면 얼마나 막막할까? 내가 온라인 저지를 풀며 초반에 그런 느낌을 받았다.
지금은 굉장히 자신감이 생겼다. 틀려도 좋다.
문제를 보고 '어떤 방법으로 하면 괜찮을까', '시간은 얼마나 걸릴까'하는 생각이라도 해볼 수 있게 되었다.
비단 알고리즘에 관한 책은 이것만 있는게 아니지만, 딱 그 '개념원리'라는 수학책 마냥 개념-문제 그 중간에서 이어주는 좋은 책이다. 지금도 잘 보고 있다.
ps. 알고리즘 관련 책은 꽤 많다. 특히 가장 유명한? '종만북'부터 뭐 노란책, 빨간책 어쩌구~
근데, 대부분 어렵다. 그냥 띡 어려운게 아니라 그 코드를 짜낸 사람의 '생각'을 따라갈 수 있어야 하는데 생각보다 그게 친절하지는 않다..
'독서 > 서평' 카테고리의 다른 글
[클래스 구조의 이해와 설계] 객체지향 개념 적용 기본서 (0) | 2022.02.14 |
---|---|
[실무로 배우는 빅데이터기술] 교양서가 아닌 직접하는 빅데이터 처리 (0) | 2022.01.17 |
[지위경쟁사회] 우리는 왜 경쟁을 하고 있는가 (0) | 2022.01.12 |
[부동산 투자, 흐름이 정답이다] 부동산 분석을 배울 수 있는 책 (0) | 2021.08.18 |
[카프카, 데이터 플랫폼의 최강자] 데이터 파이프 라인 구축의 기틀 (0) | 2021.07.19 |