영감을 (inspire) 주고픈 개발 블로그

[독서] 알고리즘 트레이닝 (원저 Competive Programming) 본문

후기 /컴퓨터 관련 책

[독서] 알고리즘 트레이닝 (원저 Competive Programming)

inspire12 2017. 7. 3. 02:28


알고리즘! 

 프로그래밍은 어렵습니다.. 그러나 컴퓨터만 있으면 된다는 점에서 비전공자이 입문하기 쉬운 분야이기도 합니다. 

C언어나 자바, 안드로이드, HTML, 자바스크립트 등 언어에 관한 책들도 많고 좋은 강의들도 많죠. 따라하다 보면 어느 정도 프로그램을 만들 정도는 되는 것 같습니다. 

 그러나 깊이 있는 프로그래밍은 한계가 있습니다. 여기서 깊이란 컴퓨터의 장점인 빠른 계산을 통해, 어려운 문제에 해답을 내놓을 수 있는 방법에 대한 능력인데, 이 능력을 위해선 자료구조나 알고리즘에 대한 이해와 더불어 문제를 많이 접하고 접근하고 푸는 방법을 익혀야만 조금 느는 것 같습니다. 이런 능력을 익히는데에선 프로그래밍 대회에 나가서 부딪혀 보고 많이 고민하는 것 만큼 도움 되는 건 없다고 생각합니다. 전 처음에 고민하고 답을 내는 게 재밌어서 시작했는데 현업에서 개발자를 뽑을 때 이 알고리즘 능력을 많이 주목하고 있는 것 같습니다. 


 최근 삼성에서 주최하는 프로그래밍 대회 SCPC가 있었는데 이번 SCPC의 총 상금 규모는 무려 1억으로 늘었죠(난이도도 훌쩍 뛰었네요). 내부적으로도 역량 테스트를 보기도 하고, SW 테스트등이나 맴버십등을 통해 알고리즘 능력이 뛰어난 사람을 우선 채용하려고 하는 것 같아요. LG나 다음 카카오도 마찬가지 추세고요. 그만큼 알고리즘 능력은 경쟁력이 될만한 요소가 되었습니다. 과거에 프로그래밍 책들은 입문서들이 너무 많았어요. 그저 간단한 자료구조 위주의 책이나 끽해봐야 DP 정도까지 설명한 책들이 대부분이었죠. 그래서 12년도에 구종만씨가 쓴 '알고리즘 해결전략 ' 이전엔 과거엔 원서를 들고 끙끙 앓아야 했었는데 이번에 Competitive Programming 의 번역서가 출간되었다는 반가운 소식을 듣고 읽어봤어요. 


 책 서문에도 있지만  우선 이 책을 읽기 전에 기본적인 C++ 지식이 있어야 합니다.  




 이 책에서 좋았던 점들을 요약해 보면 

 1. 책의 밀도가 높다. 코드를 수록할 때 글자간격이 더 조밀하게 되어 있어서 한눈에 들어오고 깔끔하다.

  

 2. 목차의 구성과 설명이 엄청나게 실용적이다 단순 알고리즘 설명이 아니라 적용하는 방법과 나중에 다른 알고리즘에 어떤 식으로 접목 되는지도 소개가 되어있다는 점이 다른 책들과 가장 차별화가 있었다. 


 3. 중간 중간 생각해볼 수 있는 연습문제들도 있었다. 단순히 알고리즘을 외우는 것이 아니라 언제 써먹어야 하는지, 다양한 접근방식에 대해서도 자연스럽게 생각할 수 있도록 유도를 한다. 

 

 4. 참고할 문제들을 같이 적어놓아서 혼자 공부하기 도움되는 부분이 있다. 하지만 예제가 수록된 사이트가 외국 사이트다. 영어 공부를 좀 해야 할 것 같다.. 


 5. 내용이 방대하다. 거의 바이블이라고 해도 문제가 없을 것 같다. 대신 좀 더럽게 읽어야 할 것 같다. 메모도 하고, 표시도 하면서 익혀야 할 것 같다. 

  

 돈이 아깝지 않는 책이라고 생각듭니다. ( 비슷한 종류의 책에 비해 워낙 수록된 내용이 많아 가성비가 좋은 편입니다.)



책의 구성, 목차등에 대해 저자가 소개한 사이트입니다. 

http://www.insightbook.co.kr/11923



반응형