내블로그 | 랜덤블로그 쪽지
sadperson님의 블로그
http://blog.yes24.com/sadperson
리스트 | RSS
태그 & 테마링 | 방명록
sadperson
님의 블로그
프로필 쪽지 친구추가
9월 스타지수 : 별8
댓글알리미 비글 : 사용안함
전체보기
기본 카테고리
나의 리뷰
나의 리뷰
기본 카테고리
나의 메모
기본 카테고리
태그
내용이 없습니다.
2020 / 09
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
월별보기
나의 친구
나의 친구들
최근 댓글
내용이 없습니다.
새로운 글
오늘 1 | 전체 2035
2007-01-19 개설

전체보기
알고리즘에 대한 고민을 해결해 줄 비법서 | 기본 카테고리 2020-08-06 04:02
테마링
http://blog.yes24.com/document/12829181복사Facebook 보내기 트위터 보내기

[도서]파이썬 알고리즘 인터뷰

박상길 저/정진호 그림
책만 | 2020년 07월

내용     편집/구성     구매하기

내가 대학생 때 보았다면 더욱 도움이 되었을 책

위 상품을 구매하면, 리뷰등록자에게 상품판매대금의 3%가 적립됩니다. (상품당 최대 적립금액 1,000원) 애드온 2 안내

이 책은 파이썬의 주요 기능과 파이썬에 어울리는 코딩 방법, 카카오 공채 문제 풀이까지 다룬다. 이제 막 파이썬을 알아가는 학생이나 초급 개발자부터 현업에서 이직을 고민하는 직장인까지 모두 고려한 책이다. 


알고리즘 인터뷰를 보았을 때 장황하게 풀이를 나열한들 면접관이 이해하지 못한다면 무슨 의미가 있겠는가? ‘파이썬이 왜 알고리즘 인터뷰에 유리한지, 내가 생각하는 해결 방법을 표현하기에 가장 효율적인 이유가 무엇인지’부터 설명한다.






아직 실력이 부족한 개발자와 현업에서 자신만의 스타일로 개발하던 개발자에게 구글 파이썬 스타일 가이드를 설명하며 일관성 있는 스타일이 왜 중요한지 다룬다.






책이나 웹에서 알고리즘 풀이를 볼 때마다 느끼는 점이 있다. 설명만으로는 도저히 이해가 되지 않는데 다른 방법이 없을까? 풀이 내용을 순차적으로 살펴보면 쉽게 이해가 될 텐데 그림으로 설명한 정보 글은 없을까? 책에서는 고민하는 부분마다 일러스트를 활용해 친절히 설명되어 있다.






예제 정리도 매우 잘 되어있는 점이 마음에 들었다. 이 책의 깃헙에 방문해보면  예제 마다 리트코드, 프로그래머스 주소가 연결되어 있어서 클릭하여 바로 테스트할 수 있게 구성되어 있다.

https://github.com/onlybooks/algorithm-interview






알고리즘을 모두 공부한 후에는 다른 책에서는 보기 힘든 정보가 담겨있다.

취업 준비부터 이직 가이드까지 골고루 담겨 있는데, 그동안 저자가 코딩 테스트 문제와 개발자 채용 면접에도 관여한 만큼 실제 회사 입장에서 무엇을 원하는지, 면접에 응시하는 사람 입장에서 어떤 관점으로 회사를 바라보고 알아봐야 하는지, 면접에 무엇을 준비해야 하는지 설명한다. 이직을 준비하는 사람에게는 민감한 주제에 대한 해법을 제시한다.






마지막 ‘카카오 공채 문제 풀이’에서는 지금까지 살펴본 모든 알고리즘을 언급하며 실제로 개발자 공채에 출제되었던 문제들에 대해 어떤 방법으로 해결책을 찾아야 하는지 알아보고 가장 효과적인 답안과 풀이로 설명한다.






이 책을 읽은 후 내가 생각하는 알고리즘은 어떠한가 생각해 보았다. 우선 알고리즘은 개발자 사이에서 언제나 끝나지 않는 논쟁을 불러일으키는 주제다. 학부생 시절 항상 고민하던 부분이 있다.


“자료구조와 알고리즘, 과연 정말 필요할까? 얼마나 중요할까? 내가 당장 활용할 방법은 무엇이 있을까? 실제 현업에서는 어떻게 적용할 수 있을까?”


그러던 중 간단한 방법으로 구현해서는 해결할 수 없는 난이도 있는 문제를 만나게 되었고 이때 알고리즘 공부하며 느꼈던 경험 등을 떠올리며 새롭게 눈을 뜨게 되었다. 단순히 문제 해결을 위해 좁은 시야에 바라보는 것이 아닌 다른 관점에서 바라보는 사고력 확장의 기회였다. 막히는 문제가 있을 때마다 답안이나 타인의 코드를 훔쳐봤다면, 나만의 지식으로 해결책을 추론해 나아가는 계기가 되었다.


현업도 결코 다르지 않다. 개발 기간이 짧은 웹 애플리케이션 개발을 시작하기 전 아키텍처를 설계한다고 가정해보자. 서버부터 DB, 사용자가 접하는 화면까지 중요하지 않은 분야는 없다. 기간이 짧음에도 불구하고 사용자, 개발자, 사 측이 생각하는 추구하는 방향과 요구 사항을 반영해야 한다면 무엇을 고려해야 할까?. UI/UX, 브라우저 로딩 시간, 개발 기간, 서버 유지 비용 등 무엇 하나 중요하지 않은 것이 없다. 그러므로 전체를 바라보는 시야와 각 부분별 무엇을 중점으로 봐야 할지 위험을 고려하며 바라보아야 한다. 이런 일련의 과정은 고민해보지 않았다면 도무지 떠오르지 않는 생각들이다. 사고 확장의 경험이 없다면(본인의 의지와 상관없이) 문제가 발생한 상황을 상상조차 해본 적이 없기 때문이다. 그렇기에 스스로 생각하고, 더 좋은 제품을 만들기 위해서는 프로그래밍 언어를 배우는 시기와 현업 모두 알고리즘은 필연적이라는 생각이 들었다.


알고리즘을 배운 적도 없고 필요 없다는 분에게 말하고 싶다. 알고리즘을 사용한 적 없다고 말하지만 이미 당신의 코드에는 적재적소 하게 반영되어 있다고. 당신의 뇌는 뛰어나서 더 이상 사고를 확장할 필요성이 없을지 몰라도, 일반인 중 깊이 사고하는 것 자체가 힘든 사람에게는 알고리즘을 통해 능력을 키워나갈 기회가 되니 제발 막지 말라고. 이 책을 읽고 나면 “알고리즘이 왜 필요한가?”라는 질문에 대한 답을 줄 테니 꼭 읽어보라고.

이 글이 좋으셨다면 SNS로 함께 공감해주세요.
댓글(0) 트랙백(0)
이 리뷰를 | 추천 4        
진행중인 이벤트
나의 북마크
이벤트 세상