이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
[1부] 코딩 인터뷰를 준비하며1장 코딩 인터뷰 & 코딩 테스트기업 인재 등용의 관문, 코딩 인터뷰__코딩 인터뷰와 국내외 기업들의 평가 기준__국내 기업들의 코딩 테스트 플랫폼 활용 현황온라인 코딩 테스트의 사전 준비 사항__연습장과 필기 도구__어떤 프로그래밍 언어가 유리할까__자신만의 코드 스니펫 준비__모든 테스트 케이스를 통과하도록 풀어야 한다__타임아웃이 발생하는 경우__예외 처리를 잊지 말자__잘못 접근한 풀이, 어떻게 대처할까__코딩 도구가 필요할까__IDE에 부정적인 면접관이 있다면__REPL 도구로 코드를 검증하자온라인 코딩 테스트 플랫폼의 특징과 활용__리트코드__프로그래머스[2부] 자바 & 코틀린2장 자바, 세상에서 가장 유명한 언어자바의 역사자바의 주요 특징__객체 지향 프로그래밍 언어__함수형 프로그래밍 언어자바의 도구__즉시 실행 가능한 JShell__자바는 어떻게 빌드하고 어떻게 실행할까JVM 기반 언어의 등장3장 코틀린, 구글이 인정한 공식 언어코틀린의 주요 특징__실용성__상호운용성__안전성__우아함코틀린의 기본 문법__깔끔한 for 반복문__정갈한 when 조건문__편리한 함수 선언__함수형 프로그래밍 언어__가시성 제어자__확장 함수코틀린은 어떻게 빌드하고 어떻게 실행할까__코틀린은 과연 느릴까4장 자료형자바는 어떤 자료형을 제공할까__원시 자료형__참조 자료형__원시 자료형과 참조 자료형의 속도 비교자바 컬렉션 프레임워크의 등장__가장 자주 쓰게 될 리스트__가장 유용하게 쓰게 될 맵초기 자료형의 성능 문제무한대 크기의 숫자를 저장할 수 있는 자료형코틀린은 어떤 자료형을 제공할까__코틀린 자료형의 속도는 과연 빠를까코틀린은 컬렉션 프레임워크를 어떻게 구현했을까__클래스의 기능을 확장하는 코틀린의 확장 함수__코틀린이 별도로 구현한 컬렉션 인터페이스자바 컬렉션 프레임워크의 실행 속도5장 빅오빅오__n2과 2n의 비교__빅오를 계산하는 실용적인 방법__상한과 최악__분할 상환 분석__병렬화__복잡도의 특징자바 컬렉션 프레임워크의 빅오__리스트 시간 복잡도__맵 시간 복잡도데크 시간 복잡도6장 문자열 처리[문제01] 유효한 팰린드롬[문제02] 문자열 뒤집기[문제03] 로그 파일 재정렬[문제04] 가장 흔한 단어[문제05] 그룹 애너그램[문제06] 가장 긴 팰린드롬 부분 문자열[3부] 선형 자료구조7장 배열동적 배열[문제07] 두 수의 합[문제08] 빗물 트래핑[문제09] 세 수의 합[문제10] 배열 파티션 I[문제11] 자신을 제외한 배열의 곱[문제12] 주식을 사고팔기 가장 좋은 시점8장 연결 리스트[문제13] 팰린드롬 연결 리스트[문제14] 두 정렬 리스트의 병합[문제15] 역순 연결 리스트[문제16] 두 수의 덧셈[문제17] 페어의 노드 스왑[문제18] 홀짝 연결 리스트[문제19] 역순 연결 리스트 II9장 스택, 큐스택큐자바에서 활용하기__자바의 큐 선언__자바의 스택 선언__스레드 안전이 필요한 경우[문제20] 유효한 괄호[문제21] 중복 문자 제거[문제22] 일일 온도[문제23] 큐를 이용한 스택 구현[문제24] 스택을 이용한 큐 구현[문제25] 원형 큐 디자인10장 데크, 우선순위 큐데크[문제26] 원형 데크 디자인우선순위 큐[문제27] k개 정렬 리스트 병합[문제28] 원점에서 가장 가까운 k개의 점[문제29] 더 맵게11장 해시 테이블해시__생일 문제__비둘기집 원리__로드 팩터__해시 함수충돌__개별 체이닝__오픈 어드레싱__언어별 해시 테이블 구현 방식[문제30] 해시맵 디자인[문제31] 보석과 돌[문제32] 중복 문자 없는 가장 긴 부분 문자열[문제33] 상위 k 빈도 엘리먼트[문제34] 완주하지 못한 선수[4부] 비선형 자료구조12장 그래프오일러 경로해밀턴 경로그래프 순회__DFS(깊이 우선 탐색)__BFS(너비 우선 탐색)백트래킹제약 충족 문제[문제35] 섬의 개수[문제36] 전화번호 문자 조합[문제37] 순열[문제38] 조합[문제39] 조합의 합[문제40] 부분집합[문제41] 일정 재구성[문제42] 여행 경로[문제43] 코스 일정13장 최단 경로 문제[문제44] 네트워크 딜레이 타임[문제45] k 경유지 내 가장 저렴한 항공권[문제46] 게임 맵 최단 거리14장 트리트리의 각 명칭그래프와 트리의 차이점이진 트리[문제47] 이진 트리의 최대 깊이[문제48] 이진 트리의 직경[문제49] 가장 긴 동일 값의 경로[문제50] 이진 트리 반전[문제51] 두 이진 트리 병합[문제52] 이진 트리 직렬화 & 역직렬화[문제53] 균형 이진 트리[문제54] 최소 높이 트리이진 탐색 트리(BST)__자가 균형 이진 탐색 트리[문제55] 정렬된 배열의 이진 탐색 트리 변환[문제56] 이진 탐색 트리(BST)를 더 큰 수 합계 트리로[문제57] 이진 탐색 트리(BST) 합의 범위[문제58] 이진 탐색 트리(BST) 노드 간 최솟값트리 순회__전위 순회__중위 순회__후위 순회[문제59] 전위, 중위 순회 결과로 이진 트리 구축15장 힙힙 연산__삽입__추출[문제60] 배열의 k번째 큰 엘리먼트[문제61] 이중 우선순위 큐16장 트라이[문제62] 트라이 구현[문제63] 팰린드롬 페어[5부] 알고리즘17장 정렬버블 정렬삽입 정렬병합 정렬퀵 정렬안정 정렬과 불안정 정렬[문제64] 리스트 정렬[문제65] 구간 병합[문제66] 삽입 정렬 리스트[문제67] 가장 큰 수[문제68] 유효한 애너그램[문제69] 색 정렬18장 이진 검색[문제70] 이진 검색[문제71] 회전 정렬된 배열 검색[문제72] 두 배열의 교집합[문제73] 두 수의 합 II[문제74] 2D 행렬 검색 II[문제75] 입국심사19장 비트 조작부울 연산자비트 연산자비트 조작 퀴즈__자릿수 제한 비트 연산2의 보수__2의 보수 숫자 표현__비트 연산자 NOT[문제76] 싱글 넘버[문제77] 해밍 거리[문제78] 두 정수의 합[문제79] UTF-8 검증[문제80] 1비트의 개수20장 슬라이딩 윈도우[문제81] 최대 슬라이딩 윈도우[문제82] 부분 문자열이 포함된 최소 윈도우[문제83] 가장 긴 반복 문자 대체21장 그리디 알고리즘배낭 문제동전 바꾸기 문제가장 큰 합[문제84] 주식을 사고팔기 가장 좋은 시점 II[문제85] 키에 따른 대기열 재구성[문제86] 태스크 스케줄러[문제87] 주유소[문제88] 쿠키 부여22장 분할 정복[문제89] 과반수 엘리먼트[문제90] 괄호를 삽입하는 여러 가지 방법23장 다이나믹 프로그래밍최적 부분 구조중복된 하위 문제들다이나믹 프로그래밍 방법론__상향식__하향식[문제91] 피보나치 수0-1 배낭 문제[문제92] 최대 서브 배열[문제93] 계단 오르기[문제94] 집 도둑[문제95] 도둑질부록 2022년 카카오 공채 만점 가이드[문제96] 신고 결과 받기[문제97] k진수에서 소수 개수 구하기[문제98] 주차 요금 계산[문제99] 양궁대회[문제100] 양과 늑대[문제101] 파괴되지 않은 건물[문제102] 사라지는 발판
|
박상길의 다른 상품
정진호의 다른 상품
이 책의 구성[1부] ‘코딩 인터뷰를 준비하며’ : 1장 ‘코딩 인터뷰 & 코딩 테스트’에서는 각각에 대한 소개와 어떻게 하면 시험을 잘 치를 수 있을지, 문제 풀이 외에도 타임아웃이나 예외 처리는 어떻게 처리해야 하는지, 문제를 잘 풀이하고 점수를 높이기 위한 여러 가지 팁과 함께 리트코드와 프로그래머스에서 문제를 풀이하는 방법을 담았다.[2부] ‘자바 & 코틀린’ : 2장 ‘자바’에서는 코딩 테스트 풀이를 위한 언어로 자바를 택하고 세상에서 가장 유명한 언어인 자바의 상세한 특징과 동작 원리를 살펴본다. 3장 ‘코틀린’에서는 자바에 이어 다음번 대세가 될 것이 거의 확실해 보이는 코틀린의 특징과 동작 원리를 살펴본다. 4장 ‘자료형’에서는 자바에서 제공하는 자바 컬렉션 프레임워크를 비롯한 다양한 자료형을 살펴보며 코틀린에서도 어떻게 자바의 자료형을 그대로 사용할 수 있는지 원리와 구현 방식을 상세히 살펴본다. 5장 ‘빅오’에서는 빅오에 대한 정의와 특징을 살펴보고, 자바 컬렉션 프레임워크의 빅오에 대해서도 자세히 살펴본다. 6장 ‘문자열 처리’에서는 문자열과 관련한 주제를 살펴본다. 이 장부터 본격적으로 다양한 문제 풀이를 진행해본다.[3부] ‘선형 자료구조’ : 7장 ‘배열’부터 8장 ‘연결 리스트’, 9장 ‘스택, 큐’, 10장 ‘데크, 우선순위 큐’, 11장 ‘해시 테이블’까지는 선형 자료구조와 관련한 다양한 주제를 살펴보고, 코딩 테스트 문제를 풀이해 본다.[4부] ‘비선형 자료구조’ : 12장 ‘그래프’부터 13장 ‘최단 경로 문제’, 14장 ‘트리’, 15장 ‘힙’, 16장 ‘트라이’까지는 비선형 자료구조와 관련한 주제를 살펴보고, 코딩 테스트 문제를 풀이해 본다.[5부] ‘알고리즘’ : 17장 ‘정렬’에서는 알고리즘의 꽃이라 불리우는 정렬의 다양한 알고리즘을 순서대로 하나씩 살펴본다. 18장 ‘이진 검색’, 19장 ‘비트 조작’, 20장 ‘슬라이딩 윈도우’에서는 관련한 알고리즘을 각각 살펴본다. 특히, 21장 ‘그리디 알고리즘’, 22장 ‘분할 정복’, 23장 ‘다이나믹 프로그래밍’은 각각 독립된 장이면서도 서로 연관되어 있는 주제이므로, 23장에서 내용을 최종 정리해 각각의 특징과 차이점을 상세히 살펴본다.부록 ‘2022년 카카오 공채 만점 가이드’에서는 지금까지 살펴본 모든 알고리즘 역량을 총동원하여 실제로 2022년 카카오 개발자 신입 공채에 출제되었던 문제들을 최선의 방법으로 모두 풀이해 본다.이 책의 주요 특징- 자바에 익숙하지 않은 독자를 위해 자바의 실행 방식과 동작 원리, 고급 문법을 함께 설명한다.- 코틀린에 익숙하지 않은 독자를 위해 자바와 코틀린의 차이점, 코틀린만의 장점과 여러 가지 팁을 함께 소개한다.- 알고리즘을 이해하기 어려워하는 독자를 위해 알고리즘에 대한 다양한 시각화 일러스트를 곁들였다.- 문제 풀이에 익숙하지 않은 독자를 위해 다양한 형태의 문제를 여러 가지 방법으로 풀이해 본다.- 최적화에 대한 이해도가 낮은 독자를 위해 여러 가지 최적화 기법을 소개하고 성능을 측정, 비교해본다.이 책의 독자 대상이 책은 ‘국내 최고 수준 IT 기업에 취업을 희망하는 신입 개발자’ 눈높이에 맞춰 집필했다.- 어떻게 하면 자바를 잘 다룰 수 있을까?- 어떻게 하면 코틀린을 잘 익힐 수 있을까?- 어떻게 하면 코딩 테스트를 잘 치를 수 있을까?- 어떻게 하면 알고리즘 문제를 잘 풀이할 수 있을까?- 어떻게 하면 면접을 잘 볼 수 있을까?이 책을 읽는 독자는 하나 이상의 언어로 프로그래밍해본 경험이 있어야 하며, 기본적인 자료구조와 알고리즘에 대해 공부할 준비가 되어 있어야 한다. 자바를 잘 몰라도 이 책을 볼 수는 있지만, 가능하면 자바에 대한 기본 지식을 갖춘 상태에서 책을 읽는 편이 내용을 이해하는 데 훨씬 더 도움이 될 것이다.이 책의 개발 언어와 도구- 자바 11(필수)- 코틀린 1.3(필수)- 인텔리제이 커뮤니티 에디션(권장)- 리트코드(필수)- 프로그래머스(필수)깃허브 소스코드 다운로드이 책에서 소개하는 모든 문제 풀이에 사용된 코드는 깃허브를 통해 제공되며, 다음의 깃허브 주소에서 모든 문제의 풀이 코드를 다운로드할 수 있다. https://github.com/onlybooks/java-algorithm-interview지은이의 말2020년에 출간된 『파이썬 알고리즘 인터뷰』는 코딩 테스트와 알고리즘 인터뷰를 준비하는 분을 위한 대표적인 서적으로 자리매김하며 많은 사랑을 받았다. 카카오에 재직할 당시 국내 최초로 개발자 블라인드 채용을 진행하면서 코딩 테스트 출제 위원으로 참여한 것이 계기가 되어 좋은 책으로 이어졌다. 카카오에서 코딩 테스트를 진행했던 경험, 이후에 좋은 인재를 채용하기 위해 수많은 면접자들을 대상으로 기술 인터뷰를 수행한 경험, 현대자동차로 이직한 후에도 현대자동차그룹에 더 좋은 소프트웨어 인재를 채용하기 위해 수백여 차례의 면접을 진행한 경험, 그리고 더 좋은 면접을 진행하기 위해 다른 회사의 기술 인터뷰까지 면밀히 살펴본 경험을 당시 첫 책에 모두 담아냈다. 무엇보다 최고의 알고리즘 책을 만들어보겠다는 노력이 작은 결실을 맺어 더할 나위 없이 기쁘다. 이번에 3년 만에 새롭게 출간되는 『자바 알고리즘 인터뷰 with 코틀린』은 첫 책을 출간할 때의 마음가짐을 그대로 계승하여 다시 한번 최고의 알고리즘 책을 만들기 위해 노력한 책이다. 심혈을 기울여 선정한 리트코드 문제 88개, 프로그래머스 문제 7개, 카카오 기출 문제 7개를 풀이했다. 지난번보다도 훨씬 더 효율적이고 깨끗한 코드를 제시하려고 노력했고, 실무에 그대로 적용해도 문제가 없는 수준으로 작성했다. 간혹 문제 해결에 급급한 나머지 실무에서 활용하기 어려운 코드를 제시하는 자료나 책도 눈에 띄지만, 적어도 이 책은 그렇지 않다. 코딩 테스트를 통과해 취업에 성공한 이후 실무에서도 계속해서 활용할 수 있는 풀이 코드를 제공하는 데 주력했다. 이 책에서 제시하는 모든 코드는 실무에 바로 적용해도 문제가 없을 정도로 수준을 높였다. 여러분이 이 책을 통해 익힌 코딩 역량은 실무에도 그대로 도움이 될 것이다. 그뿐만 아니라 전작과 마찬가지로 어려운 알고리즘을 친절한 일러스트로 풀어서 설명했다. 어렵기만 한 알고리즘을 다양한 역사와 함께 부가 설명을 곁들여 200여 장이 넘는 일러스트를 통해 직관적으로 설명하는 데 많은 노력을 기울였다. 이처럼 『자바 알고리즘 인터뷰 with 코틀린』은 『파이썬 알고리즘 인터뷰』와 비슷하면서도 한층 더 업그레이드된 책이다. 게다가 이번 책에서 가장 두드러지는 차이점은 풀이 언어로 ‘자바’를 택했다는 점이다. 자바는 코딩 테스트를 치를 때 가장 많은 사람들이 택하는 언어다. 이번 책으로 인해 좀 더 많은 독자분에게 도움을 줄 수 있길 바랐다. 이 외에도 지난 책에서 부족하다고 생각하는 부분을 대폭 보완했다.이 책은 현업에 종사하는 개발자뿐만 아니라 아직 학교에 재학 중인 대학생에게도 유용하다. 특히 이제 막 졸업하고 취업을 희망하는 취업 준비생, 연구실을 나서는 석박사들에게 많은 도움이 될 것이다. 그뿐만 아니라 좋은 문제를 찾기 위한 면접관들에게도 이 책은 좋은 선택이 될 것이다. 나 또한 면접관으로서 더 좋은 문제를 출제하기 위해 수많은 코딩 테스트와 경진 대회에 참여했고 수많은 알고리즘 서적을 뒤적여야 했다. 이 책에는 그간 내가 겪은 경험과 어려움까지 고스란히 모두 반영했다.이 책의 모든 문제에는 풀이와 해설이 바로 제시된다. 하지만 되도록 책의 풀이를 보지 않고 먼저 직접 풀어보기를 권장한다. 이 책에서 제시한 풀이는 가능한 한 최적의 풀이가 되도록, 또한 우아한 코드가 되도록 노력했기 때문에 여러분이 먼저 문제를 풀어본 다음, 여러분의 풀이와 이 책의 풀이를 비교해보면서 어떤 부분에 차이가 있는지를 한번 살펴보자. 여러분의 코드 품질과 풀이 방법을 개선하고 최적화 기법을 익히는 데에 큰 보탬이 될 것이다.
|