코딩 인터뷰를 위한 알고리즘 치트시트

리트코드LeetCode 문제를 풀면서 배우는 코딩 테스트

푸둥라이 | 제이펍 | 2022년 12월 09일 | PDF

이용가능환경 : Windows/Android/iOS 구매 후, PC, 스마트폰, 태블릿PC에서 파일 용량 제한없이 다운로드 및 열람이 가능합니다.

구매

종이책 정가 29,000원

전자책 정가 20,300원

판매가 20,300원

도서소개

10만 개의 깃허브 스타를 받은 강좌로 배우는 알고리즘 코딩 테스트

시험과 면접을 앞둔 개발자 준비생들을 위해 자주 출제되는 리트코드 문제 75개를 선정해 풀이 과정을 설명한다. 책을 읽으면서 리트코드 플랫폼에서 직접 문제 풀이를 진행할 수 있고, 손으로 풀면서 하나하나 장을 완료하면 같은 유형의 문제들을 풀 자신감을 얻을 수 있다. 동적 계획법, 이진 트리, LRU, LFU, 역추적, 너비 우선 탐색 등 자주 나오는 알고리즘 문제를 익혀 코딩 테스트에 대비하자.

저자소개

저 : 푸둥라이 (付東來)
오픈 소스를 활용해 새로운 가치를 창조하고 있다. 다년간의 문제 풀이 경험으로 복잡한 알고리즘 문제를 쉽게 가르치기 위해 노력 중이다. IT 종사자들이 시행착오를 줄이고 알고리즘의 난관을 뛰어넘는 데 도움이 되기를 바라며 이 책을 집필했다.

역 : 이춘혁
프로그래밍 언어와 자연어 모두 관심이 많은 개발자다. 고려대학교에서 한문학을 전공하며 자연스레 중국어와 일본어를 익히게 되었다. 중국, 스페인, 일본 등에서 생활하며 다양한 문화와 외국어를 접했고, 공부에 매진해 영어/중국어/일본어/스페인어를 이해하고 구사할 수 있는 수준이 되었다. 일본에서 웹과 ADAS 개발 업무를 담당하였으며, 현재는 한국비건인증원에서 웹 시스템 개발자로 일하고 있다. 신기술과 최적화에 관심이 많으며, ‘젊음을 값진 모험과 바꾸자’는 마음으로 다양한 경험을 하고, 개발에 있어서는 한 우물을 깊이 그리고 효율적으로 파기 위해 노력 중이다.

목차소개

옮긴이 머리말 x
베타리더 후기 xii
머리말 xiv
이 책에 대하여 xv
이 책을 읽는 법 xviii

CHAPTER 0 언어 기초 1
0.1 C++ 1
0.2 자바 8
0.3 파이썬 3 14

CHAPTER 1 핵심 알고리즘 17
1.1 알고리즘 학습과 문제 해결 아이디어 17
1.2 동적 계획법 문제 해결 방법 27
1.3 역추적 알고리즘 문제 해결 방법 39
1.4 BFS 알고리즘 문제 해결 방법 50
1.5 투 포인터 기법 프레임 60

CHAPTER 2 동적 계획법 95
2.1 동적 계획법: 최장 증가 부분 수열 95
2.2 2차원 증가 부분 수열: 봉투 중첩 문제 103
2.3 최대 부분 배열 문제 106
2.4 동적 계획법 Q&A: 최적 하위 구조와 dp 순회 방향 110
2.5 기본 동적 계획법: 최장 공통 부분 순열 116
2.6 기본 동적 계획법: 편집 거리 121
2.7 부분 수열 문제 해결 템플릿: 최장 회문 부분 수열 135
2.8 상태 압축: 동적 계획법 차원 축소 140
2.9 최소 삽입 횟수로 회문 문자열 구성 147
2.10 동적 계획법의 정규 표현식 155
2.11 다른 정의에 따른 다른 해법 163
2.12 기본 동적 계획법: 고층에서 계란 던지기 169
2.13 기본 동적 계획법: 고층에서 계란 던지기(심화) 174
2.14 기본 동적 계획법: 풍선 터트리기 문제 182
2.15 기본 동적 계획법: 0-1 배낭 문제 190
2.16 기본 동적 계획법: 하부 집합 배낭 문제 194
2.17 기본 동적 계획법: 완전한 배낭 문제 198
2.18 문제는 변해도 방법은 변하지 않는다 202
2.19 동적 계획법과 역추적 알고리즘의 관계 209

CHAPTER 3 데이터 구조 219
3.1 LRU 캐시 제거 알고리즘 219
3.2 계층별로 분해하여 LFU 알고리즘 작성하기 231
3.2.4 LFU 핵심 로직 237
3.3 이진 탐색 트리 작업 모음 239
3.4 완전 이진 트리의 노드 계산이 어려운 이유 247
3.5 다양한 순회 프레임을 사용한 이진 트리 직렬화와 역직렬화 251
3.6 Git 원리, 이진 트리의 최소 공통 조상 263
3.7 특수 데이터 구조: 단조 스택 269
3.8 특수 데이터 구조: 단조 큐 274
3.8.3 알고리즘 복잡도 분석 280
3.9 회문 연결 리스트 판단 280
3.10 순수 재귀의 반전 연결 리스트 조작 286
3.11 k개의 반전 연결 리스트 292

CHAPTER 4 알고리즘 사고 299
4.1 하부 집합, 조합, 순열 문제 해결을 위한 역추적 알고리즘 299
4.2 역추적 알고리즘 실전: 스도쿠 문제 풀기 307
4.3 역추적 알고리즘 실전: 괄호 생성 312
4.4 BFS 알고리즘 무차별 탐색으로 퍼즐 문제 풀기 316
4.5 2Sum 문제의 핵심 아이디어 321
4.6 nSum 문제를 해결하는 함수 325
4.7 복잡한 문제 분해하기: 계산기 구현 333
4.8 호떡을 정리하는 재귀 아이디어 342
4.9 구간 합 기법을 사용한 부분 배열 문제 해결 346
4.10 중첩 리스트 평탄화 350

CHAPTER 5 면접에 자주 나오는 문제 357
5.1 효율적으로 소수를 찾는 방법 357
5.2 효율적인 모듈로 지수 연산 361
5.3 이진 탐색 알고리즘 사용하기 366
5.4 빗물 받는 문제의 효율적인 해결 방법 370
5.5 정렬된 배열의 중복 요소 제거 377
5.6 최장 회문 부분 문자열 찾기 379
5.7 탐욕 알고리즘을 활용한 점프 게임 382
5.8 탐욕 알고리즘을 사용한 시간 관리 388
5.9 괄호의 유효성 판단 394
5.10 수험생의 좌석 배치 396
5.11 Union-Find 알고리즘 상세 403
5.12 Union-Find 알고리즘 응용 414
5.13 한 줄의 코드로 풀 수 있는 알고리즘 문제 420

APPENDIX A 한국어판 부록: LeetCode 가이드 427

문제 목록 433
찾아보기 436

회원리뷰 (0)

현재 회원리뷰가 없습니다.

첫 번째 리뷰를 남겨주세요!