본 도서는 리뷰어스클럽으로부터 무상으로 제공받아 주관적인 리뷰를 했습니다.
IT기업중에 취준생들의 선망의 기업을 '네카라쿠배'라고 줄여서 부르죠. 이들기업들은 당연히 개발직은 코딩테스트를 보고 내용도 비슷한걸로 압니다. 핵심은 알고리즘이겠죠. <실전 코딩 테스트 가이드>에서는 12가지 핵심 알고리즘을 설명하고 실제 문제를 푸는 과정을 설명함으로써 이론과 기본문제, 응용문제를 통해 실제 숙지해야할 내용을 세부적으로 소개하고 연습하게 해서 취업의 목표를 달성하도록 구성했습니다.

저자는 쩜튜브 네이버개발자라고 합니다. 유튜브 쩜튜브라는 채널도 운영중이십니다. 동영상은 75개가 올라와 있고 각기업들 코딩테스트,면접후기, 자소서 등에 관한 내용이 많습니다 취업에 큰 도움이 되는 채널로 보입니다. 공저자 이상도 삼성전자 개발자는 1년간 알고리즘 기초이론에서 실전 문제 풀이까지 독하게 공부해서 합격의 영광을 얻으신 경력자십니다.

가장 처음 나오는 구현과 완전탐색은 코딩테스트의 꽃이지 않을까합니다. 구현은 알고리즘 문제는 아니지만 조건들을 꼼꼼히 실수없이 정확히 작성해야 하는 유형이죠. 실제 파이썬으로 구현해볼수있고, 기본문제와 응용문제도 처음 대하는 사람에게는 어렵겠지만 많이 나오는 문제유형을 제시함으로써 문제에 적응하도록 했습니다. 완전탐색도 시험에 자주나오는 기본의 기본으로 압니다. 다만 모든 가능한 경우를 확인해야하는 방법이라 시간제한을 신경쓰라고 합니다. 여기에서 재귀함수와 대표적인 방법인 DFS와 BFS를 알아야 하는데 쉽게 깊이와 넓이입니다. 응용문제에서 바이러스 활성화문제를 풀때 입력과 출력을 주어지고 풀이에서 정말 쉽게 안내하고 있습니다. 이 부분역시 구현과 마찬가지로 시간제한에 신경을 써야 합니다.기본에 기본이고 역시 경험이 시험을 대비하는 가장 좋은 방식일겁니다.

동적프로그래밍부터는 알고리즘이 본격적으로 적용이 되어서 풀이시간을 줄이는 방식입니다. 피보나치수열, 메모이제이션 등으로 시간을 줄일 수가 있습니다. 이 동적프로그래밍도 모든 경우의 수를 따져보는건 다르지 않다고 합니다. 탐욕법부터는 최선의 과정을 선택하는 방법입니다. 저자는 적소적소에 그림과 도표를 사용해서 이해가 쉽도록 돕습니다. 투포인트도 재미있는 이론입니다. 수열에서 사용을 하는데, 배열의 두수 합을 구할 때 사용합니다. 응용문제에서 회전초밥는 응용할 부분이 많아보입니다. 위상정렬도 이름은 참많이 들은 방법입니다. 순서가 정해진 작업을 처리하는 방법입니다. 이 방식도 DFS와 DFS가 있다고 합니다. 트라이도 자료구조를 재미있게 봤습니다.
다양한 알고리즘을 소개하면서 템플릿이 나올때가 있습니다. 이는 바둑으로 말하면 정석같은 거죠. 템플릿이 나오면 80%정도는 외워서 쳐야 할겁니다. 시험을 기준으로 하면 앞부분과 중간부분을 좀더 철저히 해야 하고, 위상정렬부터는 시간이 부족하면 앞부분을 반복하면 좋겠다는 생각이 듭니다. 물론 실력향상에는 큰 도움이 될 거라 봅니다.