본문 바로가기

추천 검색어

실시간 인기 검색어

파이썬 알고리즘 인터뷰

95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트
박상길 지음 | 정진호 그림
책만

2020년 10월 28일 출간

종이책 : 2020년 07월 15일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (33.41MB)
ISBN 9791189909215
쪽수 728쪽
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 30,400원

쿠폰적용가 27,360

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

코딩 테스트와 인터뷰를 준비하는 취준생과 이직자를 위한
알고리즘 문제 풀이 완벽 마스터!

세계 최고 온라인 문제 풀이 사이트인 리트코드(LeetCode)의 기출문제 풀이와 분석! 200여 개가 넘는 일러스트를 통해 알고리즘과 자료구조 이론을 한눈에 쉽게 익힐 수 있음은 물론, 파이썬으로 구현하는 코드 풀이를 통해 성능 최적화 기법, 파이썬의 핵심 문법과 다양한 실용 테크닉까지 배울 수 있는, 초보 개발자와 숙련 개발자 모두를 위한 책이다.

마이크로소프트와 구글을 필두로 전 세계 개발자 채용의 첫 관문이 된 코딩 인터뷰! 주요 기업에서 실시하는 코딩 테스트의 기출 문제를 분석하고 상세한 문제 풀이와 해설을 통해 취업과 이직에 한발짝 다가서자. 이 책은 현업과 실무에 유용한 주요 알고리즘 이론을 깊숙이 이해하고, 파이썬의 핵심 기능과 문법까지 상세하게 이해할 수 있는 취업용 코딩 테스트를 위한 완벽 가이드다. 이 책을 다 읽고 나면, “왜 알고리즘을 공부하는가?”라는 질문에 대한 해답을 얻을 것이다.
[1부 코딩 인터뷰]

1장 코딩 인터뷰
코딩 인터뷰를 위한 온라인 테스트 플랫폼
국내 기업의 코딩 테스트 플랫폼 활용 현황
온라인 코딩 테스트의 사전 준비사항
화이트보드 코딩 인터뷰

2장 프로그래밍 언어 선택
경진대회 통계로 알아본 언어 선호도
프로그래밍 언어별 특징
__루프
__제네릭 프로그래밍
__배열 반복
__구조체
__클래스
코딩 테스트에 최적인 프로그래밍 언어는?

[2부 파이썬]

3장 파이썬
파이썬에 대한 이해
파이썬 문법
__인덴트
__네이밍 컨벤션
__타입 힌트
__리스트 컴프리헨션
__제너레이터
__range
__enumerate
__// 나눗셈 연산자
__print
__pass
__locals
코딩 스타일
__변수명과 주석
__리스트 컴프리헨션
__구글 파이썬 스타일 가이드

4장 빅오, 자료형
빅오
__상한과 최악
__분할 상환 분석
__병렬화
자료형
__파이썬 자료형
__원시 타입
__객체

5장 리스트, 딕셔너리
리스트
__리스트의 활용 방법
__리스트의 특징
딕셔너리
__딕셔너리의 활용 방법
__딕셔너리 모듈

6장 문자열 조작
[문제]_01 유효한 팰린드롬
[문제]_02 문자열 뒤집기
[문제]_03 로그 파일 재정렬
[문제]_04 가장 흔한 단어
[문제]_05 그룹 애너그램
여러 가지 정렬 방법
[문제]_06 가장 긴 팰린드롬 부분 문자열
유니코드와 UTF-8

[3부 선형 자료구조]

7장 배열
[문제]_07 두 수의 합
[문제]_08 빗물 트래핑
[문제]_09 세 수의 합
[문제]_10 배열 파티션 I
[문제]_11 자신을 제외한 배열의 곱
[문제]_12 주식을 사고팔기 가장 좋은 시점

8장 연결 리스트
[문제]_13 팰린드롬 연결 리스트
[문제]_14 두 정렬 리스트의 병합
[문제]_15 역순 연결 리스트
[문제]_16 두 수의 덧셈
[문제]_17 페어의 노드 스왑
[문제]_18 홀짝 연결 리스트
[문제]_19 역순 연결 리스트 II

9장 스택, 큐
스택
__연결 리스트를 이용한 스택 ADT 구현
[문제]_20 유효한 괄호
[문제]_21 중복 문자 제거
[문제]_22 일일 온도

[문제]_23 큐를 이용한 스택 구현
[문제]_24 스택을 이용한 큐 구현
[문제]_25 원형 큐 디자인

10장 데크, 우선순위 큐
데크
[문제]_26 원형 데크 디자인
우선순위 큐
[문제]_27 k개 정렬 리스트 병합

11장 해시 테이블
해시
__생일 문제
__비둘기집 원리
__로드 팩터
__해시 함수
충돌
__개별 체이닝
__오픈 어드레싱
__언어별 해시 테이블 구현 방식
[문제]_28 해시맵 디자인
[문제]_29 보석과 돌
[문제]_30 중복 문자 없는 가장 긴 부분 문자열
[문제]_31 상위 K 빈도 요소

[4부 비선형 자료구조]

12장 그래프
오일러 경로
해밀턴 경로
그래프 순회
__DFS(깊이 우선 탐색)
__BFS(너비 우선 탐색)
백트래킹
제약 충족 문제
[문제]_32 섬의 개수
[문제]_33 전화 번호 문자 조합
[문제]_34 순열
[문제]_35 조합
[문제]_36 조합의 합
[문제]_37 부분 집합
[문제]_38 일정 재구성
[문제]_39 코스 스케줄

13장 최단 경로 문제
[문제]_40 네트워크 딜레이 타임
[문제]_41 K 경유지 내 가장 저렴한 항공권

14장 트리
트리의 각 명칭
그래프 vs 트리
이진 트리
[문제]_42 이진 트리의 최대 깊이
[문제]_43 이진 트리의 직경
[문제]_44 가장 긴 동일 값의 경로
[문제]_45 이진 트리 반전
[문제]_46 두 이진 트리 병합
[문제]_47 이진 트리 직렬화 & 역직렬화
[문제]_48 균형 이진 트리
[문제]_49 최소 높이 트리
이진 탐색 트리(BST)
__자가 균형 이진 탐색 트리
[문제]_50 정렬된 배열의 이진 탐색 트리 변환
[문제]_51 이진 탐색 트리(BST)를 더 큰 수 합계 트리로
[문제]_52 이진 탐색 트리(BST) 합의 범위
[문제]_53 이진 탐색 트리(BST)

[이 책의 구성]
[1부 코딩 인터뷰]
1장, ‘코딩 인터뷰’에서는 코딩 테스트에 대한 소개와 어떻게 하면 시험을 잘 치를 수 있을지, 문제 풀이 외에도 타임아웃이나 예외 처리는 어떻게 처리해야 하는지 문제를 잘 풀이하고 점수를 높이기 위한 여러 가지 팁을 담았다. 2장, ‘프로그래밍 언어 선택’은 각 언어별 특징을 살펴보고 어떤 언어가 코딩 테스트에 가장 적합한 언어인지를 살펴본다.

[2부 파이썬]
3장, ‘파이썬’에서 우리는 코딩 테스트를 위한 언어로 파이썬을 택하고 이 언어에 대한 상세한 특징을 살펴본다. 4장, ‘빅오, 자료형’에서는 빅오에 대한 정의와 잘못된 오해에 대해 간단히 짚어보고 파이썬 자료형의 특징에 대해서 다시 한번 자세히 살펴본다. 우리가 선택한 파이썬을 제대로 활용하려면 언어의 특징에 대해서도 상세히 파악해둬야 한다. 5장, ‘리스트, 딕셔너리’에서는 파이썬의 대표적인 자료형이자 앞으로 코딩 테스트에서 계속해서 사용하게 될 대표적인 2가지 자료형, 리스트(List), 딕셔너리(Dictionary)에 대해 깊이 있게 살펴본다. 6장, ‘문자열 조작’에서는 문자열과 관련한 주제를 살펴보며 이 장부터 본격적으로 다양한 문제 풀이를 진행해본다.

[3부 선형 자료구조]
7장, ‘배열’부터 11장, ‘해시 테이블’까지는 선형Linear 자료구조와 관련한 다양한 주제를 살펴보고, 코딩 인터뷰 대비 문제를 풀이해본다.

[4부 비선형 자료구조]
12장, ‘그래프’부터 16장, ‘트라이’까지는 비선형Non-Linear 자료구조와 관련한 주제를 살펴보고, 코딩 인터뷰 대비 문제를 풀이해본다.

[5부 알고리즘]
17장, ‘정렬’은 알고리즘의 꽃이라 불리우는 정렬의 다양한 알고리즘을 순서대로 하나씩 살펴본다. 특히, 21장, ‘그리디 알고리즘’, 22장, ‘분할 정복’, 23장, ‘다이나믹 프로그래밍’은 각각 독립된 장이면서도 서로 연관되어 있는 주제이므로, 23장에서 내용을 최종 정리해 각각의 특징과 차이점을 상세히 살펴본다.

[부록]
부록 A, ‘회사 및 이직 가이드’에서는 취업이나 이직할 회사를 어떻게 택하고, 어떻게 구직과 이직 과정을 진행해야 하는지, 면접자에게 도움이 되는 정보를 실용적인 관점에서 자세히 살펴본다. 부록 B, ‘카카오 공채 문제 풀이’에서는 지금까지 살펴본 모든 알고리즘 역량을 총동원하여 실제로 2017년 카카오 개발자 신입 공채에 출제되었던 문제들을 최선의 방법으로 모두 풀이해본다.

[이 책의 주요 특징]
- 실무 개발과 코딩 테스트 모두를 위한 핵심 파이썬 문법과 프로그래밍 기법
- 개발자라면 꼭 알아야 할 필수 알고리즘과 자료구조 이론의 정의와 배경
- 알고리즘 이론을 한눈에 이해할 수 있는 215가지 일러스트 시각화
- 세계 최고 문제 풀이 사이트 리트코드(LeetCode)의 주요 기출문제 풀이
- 실제 카카오 공채 코딩 테스트에 출제된 문제 풀이와 해설
- 다양한 최적화 기법을 활용한 단계별 풀이 개선과 비교 분석
- 알고리즘 구현별 성능과 풀이 실행 속도 비교
- 서류전형에서 면접까지, 개발직군 취업과 이직을 위한 준비 가이드
- 성공적인 개발자 커리어패스 구축을 위한 다양한 조언

[이 책의 독자 대상]
이 책은 다음과 같은 고민으로 학습 자료나 참고서를 찾고 있는 ‘국내 최고 수준의 IT 기업에 취업 및 이직을 희망하는 개발자’와 이제 첫 사회생활을 시작하는 취업준비생, 대학생이 읽어야 할 필독서다.

● 어떻게 하면 코딩 테스트를 잘 치를 수 있을까?
● 어떻게 하면 알고리즘 문제를 잘 풀이할 수 있을까?
● 어떻게 하면 면접을 잘 볼 수 있을까?
● 어떻게 하면 파이썬을 잘 다룰 수 있을까?

이 책을 읽는 독자는 하나 이상의 언어로 프로그래밍해본 경험이 있어야 하며, 기본적인 자료구조와 알고리즘에 대해 공부할 준비가 되어 있어야 한다. 파이썬을 몰라도 이 책을 볼 수는 있지만, 가능하면 파이썬에 대한 기본 지식을 갖춘 상태에서 책을 읽는 편이 내용을 이해하는 데 훨씬 더 도움이 될 것이다.

작가정보

저자(글) 박상길

저자 : 박상길
카카오 검색팀과 자연어처리팀을 거쳐 현재 현대자동차 AI 리서치 랩에서 차량에 탑재되는 AI 플랫폼을 만든다. 카카오 채용 코딩 테스트 출제 위원회 소속으로 오랜 기간 개발자 채용에 관여해 왔으며, 현대자동차에서도 AI 플랫폼 팀장으로서 다양한 면접에 참여하고 있다. 현대차그룹(현대차, 기아차, 모비스, 오토에버 등)의 소프트웨어 전문가 채용을 담당하는 TFT에도 소속되어 있다. 2017년, 국내 IT 업계 처음으로 블라인드 채용을 시행한 카카오 신입 개발자 공채의 문제 출제 위원으로 활동했으며, 오프라인 필기 시험의 문제 대부분을 출제하기도 했다. 프로필 사진은 카카오 개발자 공채 최종 오프라인 시험 당시 코엑스에 감독관으로 나갔을 때 현장에서 촬영한 사진이다.

그림 : 정진호
한때는 글로벌 인터넷 기업에서 외부 개발자를 지원하는 엔지니어였다. 대기업 계열사의 기업문화팀에서 일했고, 현재는 1인 기업 J비주얼스쿨의 대표가 되었다. 독학으로 그림을 그려 7번의 수채화 개인전을 열고, 16권의 저서와 역서를 출간했다. 평범한 것들이 모이면 특별한 것이 된다는 믿음을 가지고 매일 꾸준하게 무언가를 하고 있다.

그림/만화 정진호

작가의 말

2017년 8월, 카카오는 흥미로운 실험을 진행했다. 신입 개발자 채용을 이름과 연락처만 제시하면 누구나 지원할 수 있는 블라인드 방식의 공개 채용으로 진행한 것이다. 과감한 시도였고 당시 IT 업계에서조차 보기 드문 사례였다.
좋은 개발자를 선발하기 위한 출제 위원회의 움직임도 바빠졌다. 주요 알고리즘을 녹여 내면서도 응시자들에게 친근하게 다가서기 위해 카카오 캐릭터를 이용한 수십 항목의 문제를 만들었고, 출제 위원들이 각자 돌아가며 꼼꼼히 문제를 풀이해 나갔다. 피어 리뷰를 통해 충분히 논의를 진행했고, 다수결로 출제 여부를 확정했다. 지루한 절차가 반복됐지만 꼭 필요하고도 합리적인 과정이었다. 그렇게 여러 단계를 거쳐 최종적으로 총 7개 문제를 엄선했고, 이 문제들은 지금까지도 좋은 평가를 받으며 블라인드 채용의 모범 사례가 되었다(그해 카카오 공채 문제들은 이 책의 부록 B에서 모두 풀어본다). 당시의 성공 덕분에 이후에도 블라인드 채용은 계속 이어지고 있으며 다른 기업의 채용에까지 영향을 미쳤으니, 돌이켜 보면 그 자랑스러운 역사의 현장에 일원으로서 함께할 수 있었다는 사실이 그저 영광스러울 따름이다.
이 책에는 그렇게 당시 코딩 테스트를 진행했던 경험, 이후에도 수많은 면접자들을 대상으로 기술 인터뷰를 수행한 경험, 그리고 면접을 더 잘하기 위해 수많은 회사의 기술 면접 과정을 면밀히 살펴본 경험을 담았다. 그리고 이를 바탕으로, 나 또한 이직을 시도하면서 겪은 여러 가지 다양한 경험까지도 녹여내어 종합했다.
면접관으로서, 또는 면접자로서 겪은 다양한 경험은 한동안 면접관의 입장에서는 미처 느끼지 못했던 잘못된 관행들을 다시금 면접자의 입장에서 깨닫게 되는 좋은 계기가 됐고, 이직 후에는 더 좋은 면접관으로 거듭나게 됐으며, 이 책을 통해 그간의 경험들을 모두 잘 정리해 담아냈음은 물론이다.
간혹 알고리즘 면접이라는 것이 갓 졸업한 학부생들이나 풀 수 있는 형식적인 면접이 아니냐는 오해도 있다. 과연 그럴까? 여러분은 왜 알고리즘 문제를 푼다고 생각하는가? 왜 그동안 수학을 공부해왔다고 생각하는가? 우리가 수학과 알고리즘을 공부하는 이유는 튼튼한 기본(수학)을 바탕으로 논리적 사고(수학적 사고)를 거쳐 문제 해결(프로그래밍)을 하기 위해서다. 알고리즘 속에 깃든 다양한 사고의 방법, 자료구조, 문제 풀이 역량 등은 체계적으로 생각하는 방법을 길러주며 나아가 훌륭한 개발자로서 당연히 갖춰야 할 튼튼한 지적 기반을 쌓아준다. 알고리즘을 체계적으로 익혀 실력을 키운다면 좀 더 좋은 개발자가 될 수 있을 것이다.
이제부터 여러분이 할 일은 리트코드와 함께 이 책에 있는 문제들을 파이썬으로 열심히 풀이해 보는 것이다. 화이트보드에 풀어보는 것도 좋은 방법이다.
무엇보다 이 책이 여러분의 취업에, 여러분의 이직에, 여러분의 커리어에, 여러분의 인생에 좋은 길잡이가 되었으면 한다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    파이썬 알고리즘 인터뷰 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    파이썬 알고리즘 인터뷰 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    파이썬 알고리즘 인터뷰
    95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트
    저자 모두보기
    저자(글)
    그림/만화
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)