이전

리뷰 (8)

한줄평
평점 분포
  • 리뷰 총점10 75%
  • 리뷰 총점8 25%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 9.0
  • 40대 9.0
  • 50대 8.0

포토/동영상 (2)

리뷰 총점 종이책 구매
알고리즘 트레이닝
"알고리즘 트레이닝" 내용보기
나쁘지는 않다. 코드야 뭐 인터넷에서 찾아볼 수 있기도하고 전체적인 Overview 느낌으로 작게 어떤 것들을 좀 익히면 좋을까? 그런 궁금증을 해결할 수 있는 책이라고 생각한다. 다만... 278p 14번째 줄에 y-x 인데 y+x로 적혀있다. 이게 이해가 안돼서 1시간 가까이 고민했었는데, 원서를 찾아보니 y-x더라. 내 시간은 어디로 간걸까? 쪼금은 화가났다. 이 글을 읽으시는 분은 부디
"알고리즘 트레이닝" 내용보기

나쁘지는 않다.

코드야 뭐 인터넷에서 찾아볼 수 있기도하고 전체적인 Overview 느낌으로 작게 어떤 것들을 좀 익히면 좋을까?
그런 궁금증을 해결할 수 있는 책이라고 생각한다.

다만...
278p 14번째 줄에 y-x 인데 y+x로 적혀있다. 이게 이해가 안돼서 1시간 가까이 고민했었는데,
원서를 찾아보니 y-x더라. 내 시간은 어디로 간걸까? 쪼금은 화가났다.

이 글을 읽으시는 분은 부디 저처럼 시간을 날리지 않으시길 바란다.

f*********7 2022.02.13. 신고 공감 1 댓글 0
리뷰 총점 종이책 구매
알고리즘 트레이닝- 프로그래밍대회 입문가이드를 읽다.
"알고리즘 트레이닝- 프로그래밍대회 입문가이드를 읽다." 내용보기
처음 알고리즘을 접한 것은 개발자로써 어딘가 막혀있을 때였습니다. 어떤 함수를 쓸지 비교하면서 코드최적화를해오고는 했었는데 더이상 발전되지 않는다는 느낌이 들고 자만심마저 들고 있었을 때 알고리즘을 배우게 되었습니다. 그 때 수많은 자괴감을 느낌과 동시에 저의 코드실력은 향상되고 코드의 로직을 좀 더 효율적으로 작성할 수 있었습니다. 하지만 처음 제가 알고리즘을 공
"알고리즘 트레이닝- 프로그래밍대회 입문가이드를 읽다." 내용보기


처음 알고리즘을 접한 것은 개발자로써 어딘가 막혀있을 때였습니다. 어떤 함수를 쓸지 비교하면서 코드최적화를해오고는 했었는데 더이상 발전되지 않는다는 느낌이 들고 자만심마저 들고 있었을 때 알고리즘을 배우게 되었습니다. 그 때 수많은 자괴감을 느낌과 동시에 저의 코드실력은 향상되고 코드의 로직을 좀 더 효율적으로 작성할 수 있었습니다. 


하지만 처음 제가 알고리즘을 공부할 땐 정말 너무나도 힘들었습니다. 무언가 제게 방향을 가르쳐 줄 사람도 책도 없었습니다. 


이 책은 그 때의  제가 필요했던 "방향"을 너무나 잘 잡아 줍니다.  처음 알고리즘을 접하는 사람은 보기에는 어려울 수도 있지만 이 책을 곁에 두면서 스스로 알고리즘 문제를 풀어 나가면 이 책의 진가를 알 수 있을 것입니다. 


초급자와 중급자가 느끼기에는 다음과 같을 수 있을 거같아 적어봅니다.  


 - 초급자 : 다소 어려울 수도 있지만 스스로 문제를 풀어보시면서 하면 충분히 소화낼 수 있습니다. 11장을 모두 다 이해하시고 12장을 학습하는 것을 권장합니다.


 - 중급자 : 11장까지는 복습하는 느낌, 그리고 12장부터는 고난도 주제를 땀흘려가면서 이해하면 됩니다




한줄평

코딩테스트나 프로그래밍 대회를 나간다면 옆에 두며 공부하길 추천드립니다! 

알고리즘은 정답을 알려주는 것보다 힌트를 통해 스스로 구현하는 것이 중요한데 이 책은 그 힌트에 집중하고 있습니다.  군더더기 없는 깔끔한 설명으로 쪽집게 선생님이 옆에 있는 듯한 느낌을 주며 부족한 부분, 새롭게 배우는 부분을 요약해서 알려주며 이정표같은 역할을 합니다.




목차

목차는 다음과 같습니다.  대회, 코딩테스트에 나오는 모든 알고리즘을 집약해서 설명해주는 느낌입니다.


1장 들어가며


2장 프로그래밍 기법 


3장 효율성  


4장 정렬과 탐색  


5장 자료 구조  


6장 동적 계획법  


7장 그래프 알고리즘  


8장 알고리즘 설계 기법  


9장 구간 질의  


10장 트리 알고리즘  


11장 수학  


12장 고급 그래프 알고리즘 


13장 기하 


14장 문자열 알고리즘 


15장 고난도 주제 


12장부터는 어렵습니다. 알고리즘 대회를 준비하다보면 "센트로이드 디컴포지션, 가우스 소거법, lazy sagment" 등의 고난도 주제를 학습하게 되는데 이는 사실 구글링해서 얻기 힘든 지식들입니다. 하지만 이 지식들을 이 책에서는 쉽게 찾아서 볼 수 있습니다.  


총 장수는 335쪽 정도 됩니다. 3주이상을 잡고 읽는 것을 추천드립니다.   






마음에 드는 부분과 구절


1. 로직 중심의 간결한 코드



정말 중심적인 로직만 간결하고 깔끔한 코드를 보여줍니다. 



2. 방향을 이끌며 물음표를 던지는 글.


"모든 순열을 살펴보는 것은 효율적이 않지만 모든 부분집합을 살펴보는 것은 효율적일 수 있다. 예를 들어 ... 운행해야 하는가?" 이런식으로 독자에게 질문을 던져 생각하게끔 만듭니다.


3. 깔끔한 설명


"push_back, pop_back함수는 평균 O(1)시간에 동작하도록 구현되어있다. " 라는 글처럼 어떠한 함수, 어떠한 자료구조가 어떠한 시간복잡도를 가지고 있는지 빠짐없이 설명합니다. 또한, "반복자는 자료구조의 원소를 가리키는 변수" 라는 말처럼 어려운 Iterator의 개념을 처음 C++을 접하는 사람이라도 알 수 있을 정도로 쉽게 설명합니다. 


많이 사용하는 정렬의 경우 이렇게 comp를 정해 놓으면 커스터마이징하게 정렬이 가능하다는 것을 보여줍니다. 정말 빠짐없이 알려줍니다. 



리뷰를 마치며.


알고리즘은 모든 프로그래머에게 필수입니다. 처음 공부할 때는 정말 그만두고 싶지만 공부를 해나가면 실력은 발전하고 애플리케이션의 성능도 올라갈 것입니다.  


하지만 모든 일이 그러하듯 방향이 중요합니다. 



이 책은 발전하는 그 과정 옆에서 방향을 잡아주는 이정표역할을 해줄 것입니다. 

w*******e 2019.06.17. 신고 공감 0 댓글 0