본문 바로가기

DATA SCIENCE/Review

Monthly Book Review 12 : 알고리즘 공부하는 이들을 위한 필독서 2권

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=294848641 

 

똑똑한 코드 작성을 위한 실전 알고리즘

소프트웨어 개발에서 가장 많이 활용되는 핵심 알고리즘을 각각 언제, 어떻게 사용하면 좋은지 단계별로 상세히 알려준다. 알고리즘 진행 과정을 시각화한 그림과 함께 예제 코드를 한 줄씩 알

www.aladin.co.kr

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=299409119 

 

Do it! 알고리즘 코딩 테스트 : 파이썬 편

네이버, 카카오, 삼성, 라인 등 주요 IT 기업의 시험에 나오는 알고리즘 내용이 모두 담겨 있다. 책에 수록된 알고리즘 문제 100개는 모두 최신 기출 유형을 반영하고 있어서 이 책의 문제만 다 풀

www.aladin.co.kr

 

 

00. 들어가며

연말과 연초에는 자연스럽게 알고리즘 공부를 하게 되는 것 같습니다.

(그 이유는 이미 아시거나, 아시게 될 것입니다^^7)

개인적으로 가장 많은 도움을 받았던 알고리즘 두 권을 소개해보고자 합니다.

 

 

01. 리뷰 대상 소개

오늘의 리뷰 대상은 다음의 두 권입니다.

1. 알고리즘 코딩테스트 - 파이썬 편 
2. 똑똑한 코드 작성을 위한 실전 알고리즘

만약 여러분들이 일반적인 수준의 알고리즘 문제를 풀 수 있다면, 두 번째 책을 먼저 접하셔도 상관없으나 기본적으로 두 권을 함께 이용하는 것을 추천합니다.

그 이유는 첫 번째로 제시한 알고리즘 코딩테스트는 각 알고리즘 유형별 간단한 소개와 이에 대한 문제 풀이를 어떻게 할까하는 방식으로 접근하게 되는데요. 이 과정에서 알고리즘 문제 풀이 사이트로 유명한 백준 사이트에서 직접 문제를 풀어볼 수 있습니다. 이 과정에서 직접 문제를 풀어봤다는 것과 그 결과물이 남는다는 점에서 지속적으로 공부할 수 있는 동기를 부여해줍니다. 이 책만으로 프로그래머스 기준 레벨 2까지는 무난하게 성장할 수 있을 것 같습니다.

하지만 실전 문제 풀이 관점에선 충분해도 이론적인 측면은 조금 부족하다 느낄 수 있는데요. 이에 대해 잘 정리된 책이 두 번째로 추천드리는 책입니다. 이를 통해 프로그래머스 레벨 3 문제를 푸는 것에 도움을 얻을 수 있었고, 그 이상의 난이도는 푸는 법을 알고 있는가 내지는 시간적인 문제로 판단됩니다. 

 

02 두 책의 특징

첫 번째 책의 특징은 [알고리즘에 대한 간단 설명 → 문제 제시 → 문제 해석 → 수도 코드 작성 → 실제 코드 작성]의 단계를 거치며 각 알고리즘 별로 수준을 바꿔가며 반복적으로 문제를 풀어보는 과정에서 직접 해당 알고리즘을 구현해보고, 문제를 풀기 위해 생각할 기회를 얻을 수 있다는 장점이 있습니다.

두 번째 책의 특징은 각 알고리즘의 성능을 구체적으로 비교해가며 문제의 복잡도에 따라 어떤 알고리즘을 사용하는 것이 적절한지부터, 우리가 일반적으로 사용하는 알고리즘을 소스코드를 라인별로 분해해가며 기능을 소개하거나, 직접 그 알고리즘을 구현하는 것에 초점이 맞춰져 있습니다.

 

03. 추천 대상

이미 파이썬과 기초적인 알고리즘 문제 풀이는 가능하다는 가정 하에 아직 다양한 알고리즘을 접해보고 싶고, 직접 문제를 풀어보며 알고리즘 공부를 일단 시작하고 지속하는게 중요하다 판단하시는 분들은 첫 번째 책을, 이 수준을 넘어 보다 구체적인 이유와 동작원리에 대해 배우고 이를 구현하는 것을 해보고자 한다면 두 번째 책을 추천드립니다.

상황적으로는 첫 번째 책의 경우엔 전공생 혹은 취업 준비생들에게, 두 번째 책의 경우엔 현직에 종사하고 있거나 이직을 준비하는 이들에게 더욱 도움이 되지 않을까 싶습니다.

 

04. 정리

1. 알고리즘 코딩테스트 - 파이썬 편

- 알고리즘 기초를 뗀 이들에게 추천하는 실전 문제풀이 위주의 학습서

- 534 페이지라는 분량에 비해 공부할수록 페이지가 부족하다고 느낄 정도로 알차다

- 백준 홈페이지에 올라와있는 문제를 직접 풀어볼 수 있고, 부가적으로 입출력 방식, 데이터 전달 방식에 따른 성능 차이도 배워 백준 홈페이지 입문서로서도 적절해 보임

- 퇴근 후 2~3시간 공부해서 1회독 하는데 두 달 정도 걸렸음

 

2. 똑똑한 코드 작성을 위한 실전 알고리즘

- 각 유형별 알고리즘 문제 풀이가 가능한 이들에게 이론적으로 학습하기 위한 중급 서적

- 이유도 모르고 무작정 좋은 알고리즘을 찾는게 아닌, 최적화된 알고리즘을 적용하기 위한 고민을 해볼 수 있다

- 컨텐츠 명으로만 보면 처음 보는 것은 없지만, 그 안의 내용들은 고민하거나 배워본 적이 없는 내용들로 가득하다

- 직접 구현하는 과정이 필수적이진 않기에 1회독에는 10시간 정도가 걸렸던 것 같으며, 회사 업무 등을 위해 늘 옆에 비치해둘만한 책

 

 

 

 

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."