이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
[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 역순 연결 리스트 II9장 스택, 큐스택__연결 리스트를 이용한 스택 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) 노드 간 최소 거리트리 순회[문제]_54 전위, 중위 순회 결과로 이진 트리 구축15장 힙힙 연산__삽입__추출[문제]_55 배열의 K번째 큰 요소16장 트라이[문제]_56 트라이 구현[문제]_57 팰린드롬 페어[5부 알고리즘]17장 정렬버블 정렬병합 정렬퀵 정렬안정 정렬 vs 불안정 정렬[문제]_58 리스트 정렬[문제]_59 구간 병합[문제]_60 삽입 정렬 리스트[문제]_61 가장 큰 수[문제]_62 유효한 애너그램[문제]_63 색 정렬[문제]_64 원점에 K번째로 가까운 점18장 이진 검색[문제]_65 이진 검색[문제]_66 회전 정렬된 배열 검색[문제]_67 두 배열의 교집합[문제]_68 두 수의 합 II[문제]_69 2D 매트릭스 검색 II19장 비트 조작부울 연산자비트 연산자비트 조작 퀴즈__자릿수 제한 비트 연산2의 보수__2의 보수 숫자 포맷__2의 보수 수학 연산__비트 연산자 NOT[문제]_70 싱글 넘버[문제]_71 해밍 거리[문제]_72 두 정수의 합[문제]_73 UTF-8 검증[문제]_74 1비트의 개수20장 슬라이딩 윈도우[문제]_75 최대 슬라이딩 윈도우[문제]_76 부분 문자열이 포함된 최소 윈도우[문제]_77 가장 긴 반복 문자 대체21장 그리디 알고리즘배낭 문제동전 바꾸기 문제가장 큰 합[문제]_78 주식을 사고 팔기 가장 좋은 시점 II[문제]_79 키에 따른 대기열 재구성[문제]_80 태스크 스케줄러[문제]_81 주유소[문제]_82 쿠키 부여22장 분할 정복[문제]_83 과반수 엘리먼트[문제]_84 괄호를 삽입하는 여러 가지 방법23장 다이나믹 프로그래밍최적 부분 구조중복된 하위 문제들다이나믹 프로그래밍 방법론[문제]_85 피보나치 수0-1 배낭 문제[문제]_86 최대 서브 배열[문제]_87 계단 오르기[문제]_88 집 도둑부록A 회사 및 이직 가이드회사 가이드취업 준비이직 준비이직 가이드부록B 카카오 공채 문제 풀이[문제]_B1 비밀 지도[문제]_B2 다트 게임[문제]_B3 캐시[문제]_B4 셔틀버스[문제]_B5 뉴스 클러스터링[문제]_B6 프렌즈4블록[문제]_B7 추석 트래픽
|
박상길의 다른 상품
정진호의 다른 상품
[이 책의 구성][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 기업에 취업 및 이직을 희망하는 개발자’와 이제 첫 사회생활을 시작하는 취업준비생, 대학생이 읽어야 할 필독서다. ● 어떻게 하면 코딩 테스트를 잘 치를 수 있을까?● 어떻게 하면 알고리즘 문제를 잘 풀이할 수 있을까?● 어떻게 하면 면접을 잘 볼 수 있을까?● 어떻게 하면 파이썬을 잘 다룰 수 있을까?이 책을 읽는 독자는 하나 이상의 언어로 프로그래밍해본 경험이 있어야 하며, 기본적인 자료구조와 알고리즘에 대해 공부할 준비가 되어 있어야 한다. 파이썬을 몰라도 이 책을 볼 수는 있지만, 가능하면 파이썬에 대한 기본 지식을 갖춘 상태에서 책을 읽는 편이 내용을 이해하는 데 훨씬 더 도움이 될 것이다.[지은이의 말]2017년 8월, 카카오는 흥미로운 실험을 진행했다. 신입 개발자 채용을 이름과 연락처만 제시하면 누구나 지원할 수 있는 블라인드 방식의 공개 채용으로 진행한 것이다. 과감한 시도였고 당시 IT 업계에서조차 보기 드문 사례였다.좋은 개발자를 선발하기 위한 출제 위원회의 움직임도 바빠졌다. 주요 알고리즘을 녹여 내면서도 응시자들에게 친근하게 다가서기 위해 카카오 캐릭터를 이용한 수십 항목의 문제를 만들었고, 출제 위원들이 각자 돌아가며 꼼꼼히 문제를 풀이해 나갔다. 피어 리뷰를 통해 충분히 논의를 진행했고, 다수결로 출제 여부를 확정했다. 지루한 절차가 반복됐지만 꼭 필요하고도 합리적인 과정이었다. 그렇게 여러 단계를 거쳐 최종적으로 총 7개 문제를 엄선했고, 이 문제들은 지금까지도 좋은 평가를 받으며 블라인드 채용의 모범 사례가 되었다(그해 카카오 공채 문제들은 이 책의 부록 B에서 모두 풀어본다). 당시의 성공 덕분에 이후에도 블라인드 채용은 계속 이어지고 있으며 다른 기업의 채용에까지 영향을 미쳤으니, 돌이켜 보면 그 자랑스러운 역사의 현장에 일원으로서 함께할 수 있었다는 사실이 그저 영광스러울 따름이다.이 책에는 그렇게 당시 코딩 테스트를 진행했던 경험, 이후에도 수많은 면접자들을 대상으로 기술 인터뷰를 수행한 경험, 그리고 면접을 더 잘하기 위해 수많은 회사의 기술 면접 과정을 면밀히 살펴본 경험을 담았다. 그리고 이를 바탕으로, 나 또한 이직을 시도하면서 겪은 여러 가지 다양한 경험까지도 녹여내어 종합했다.면접관으로서, 또는 면접자로서 겪은 다양한 경험은 한동안 면접관의 입장에서는 미처 느끼지 못했던 잘못된 관행들을 다시금 면접자의 입장에서 깨닫게 되는 좋은 계기가 됐고, 이직 후에는 더 좋은 면접관으로 거듭나게 됐으며, 이 책을 통해 그간의 경험들을 모두 잘 정리해 담아냈음은 물론이다.간혹 알고리즘 면접이라는 것이 갓 졸업한 학부생들이나 풀 수 있는 형식적인 면접이 아니냐는 오해도 있다. 과연 그럴까? 여러분은 왜 알고리즘 문제를 푼다고 생각하는가? 왜 그동안 수학을 공부해왔다고 생각하는가? 우리가 수학과 알고리즘을 공부하는 이유는 튼튼한 기본(수학)을 바탕으로 논리적 사고(수학적 사고)를 거쳐 문제 해결(프로그래밍)을 하기 위해서다. 알고리즘 속에 깃든 다양한 사고의 방법, 자료구조, 문제 풀이 역량 등은 체계적으로 생각하는 방법을 길러주며 나아가 훌륭한 개발자로서 당연히 갖춰야 할 튼튼한 지적 기반을 쌓아준다. 알고리즘을 체계적으로 익혀 실력을 키운다면 좀 더 좋은 개발자가 될 수 있을 것이다. 이제부터 여러분이 할 일은 리트코드와 함께 이 책에 있는 문제들을 파이썬으로 열심히 풀이해 보는 것이다. 화이트보드에 풀어보는 것도 좋은 방법이다. 무엇보다 이 책이 여러분의 취업에, 여러분의 이직에, 여러분의 커리어에, 여러분의 인생에 좋은 길잡이가 되었으면 한다.
|