간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (35,910원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (26,460원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (30,240원)
(최대할인 4만원 / 2만원 이상 결제)
Close

자바 알고리즘 인터뷰 with 코틀린 : 102가지 알고리즘 문제 풀이로 완성하는 코딩 테스트

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 49
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

42,000원

  • 37,800 (10%할인)

    2,100P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 7/18(목) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

코딩 테스트와 알고리즘 인터뷰를 준비하는 개발자들을 위한 최고의 책 『파이썬 알고리즘 인터뷰』가 자바와 코틀린 코드로 무장하고 한층 업그레이드되어 돌아왔다! 이 책 한 권이면 취업이나 이직 준비는 물론, 현업에서도 바로 활용 가능한 실무 코드를 학습할 수 있는 기본기를 다질 수 있다. 200여 가지가 넘는 풍부한 일러스트를 통해 알고리즘과 자료구조의 기초도 다시 한번 탄탄히 다져보자.

V 취업 준비생과 이직자를 위한 알고리즘과 자료구조 완벽 학습 가이드!
V 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


[베타리더 한마디]
언뜻 보면 이 책은 저자의 유명한 전작인 『파이썬 알고리즘 인터뷰』를 단순히 자바 버전으로 출간한 듯 보이지만, 전혀 새로운 콘셉트의 책이라 할 수 있다. 이 책에 실린 실습 예제는 자바와 코틀린으로 제공되는데 이렇게 두 가지 언어로 함께 제공하는 것이 이 책의 가장 큰 장점이자, 또 다른 재미를 안겨준다. 아울러 이 책에서는 파이썬 코드 구현 의견도 제시해주기 때문에 알고리즘을 구현할 때 세 가지 언어를 비교하며 설명해주는 점이 더욱 흥미로웠다. 또한 전반적인 알고리즘 설명 외에도 특히, 왜 알고리즘을 사용해야 하는지, 실제 업무에서는 어떻게 활용해야 하는지 등 평소 고민했던 부분에 큰 도움을 받았다.
- 박찬웅 / 소프트웨어 개발자

기업은 개발자를 뽑을 때 일차적인 검증 수단으로 코딩 테스트를 봅니다. 이 책은 리트코드 문제를 선별해 출제자의 의도와 문제 해결 방법을 엿볼 수 있습니다. 알고리즘 개념 정리가 필요하거나 자바와 코틀린 언어로 코딩 테스트를 준비하는 분에게 이 책을 추천합니다.
- 오동주 / 안드로이드 개발자

이 책을 전작의 개정판으로 생각할 수도 있지만, 전혀 다른 언어인 자바를 사용하기에 다른 책이라고 봐도 좋다고 생각합니다. 파이썬을 공부하면서 전작을 읽었고 많은 도움을 받았습니다. 꼭 코딩 테스트를 위해서가 아니라 자바나 코틀린을 처음 접하는 책으로도 좋다고 생각합니다.
- 이상우 / 카카오, 톡메시징파트 개발자

신입 개발자를 위한 필수 자료구조 책을 소개합니다. (제가 아는 한) 코틀린을 통해 코딩 인터뷰/테스트를 다루는 첫 번째 책이기도 합니다. 필수적인 기본 자료구조뿐만 아니라 그리디 알고리즘이나 다이나믹 프로그래밍 같은 고급 주제까지 다루기에 폭넓은 주제를 공부할 수 있습니다.
- 정현준 / AtlasLabs, VP of Engineering

취미 삼아 해커랭크라는 사이트에서 C++와 파이썬으로 종종 문제를 풀었지만, 항상 풀이해 설에 대한 갈망을 느끼며 좀 더 나은 알고리즘은 없는지 늘 궁금했다. 이 책에서는 평소에 등산로를 결정하는 일처럼 우리 앞에 놓여 있는 여러 가지 선택지 중 왜 이런 선택(문제 풀이 방법)을 하게 되었는지에 대한 식견은 물론, 자바와 코틀린 소스 코드를 동시에 보여준다. 이 책을 베타리딩하며 그간 내가 느껴왔던 갈증을 풀어줄 책임을 확신했다. 아니 나뿐만이 아니라 이 책을 읽는 많은 이들이 이 말에 동감하지 않을까?
- 채민석 / integrate.io, APAC 담당 세일즈엔지니어

『파이썬 알고리즘 인터뷰』를 읽으면서 내용이 너무 좋아서 ‘언젠가 내게 더 익숙한 자바/코 틀린 기반으로 책이 나오면 얼마나 좋을까?’라는 생각을 했었는데, 정말로 나왔군요! 베타 리더로 참여하면서 읽어봤는데, 코딩 인터뷰 관련 책을 이보다 잘 쓸 수 있을까 싶을 정도로 너무 잘 쓰인 책입니다.
- 홍수영 / LINE, 서버사이드 소프트웨어 엔지니어

추천사

이일민(이프릴 대표, 『토비의 스프링』 저자)
흔히들 개발자에게 알고리즘은 실무 개발과는 동떨어진 주제라고 여겨진다. 특별한 목적을 위해 알고리즘을 직접 만들거나 전문적으로 활용하는 소수의 개발자를 제외하고, 애플리케이션이라 불리는 다수의 사용자가 있는 IT 시스템을 개발하는 경우 알고리즘이란 말은 현장에서 거의 사용되지 않는 것처럼 보인다. 정렬이나 검색 같은 알고리즘이 필요하다면 잘 만들어진 라이브러리를 사용하거나 검색엔진처럼 그 기능에 최적화된 서비스를 사용하면 된다. 그래서 알고리즘은 취업이나 이직에서 요구되는 코딩 테스트나 인터뷰를 통과하기 위해 잠시 공부해야 하는 일회성 도구처럼 취급된다.

하지만 과연 그럴까? 자바의 가장 인기 있는 프레임워크인 스프링의 레퍼런스 문서와 소스 코드를 살펴보면 알고리즘이라는 단어가 상당히 많이 등장한다. 대표적인 스프링 기술인 스프링 MVC의 핵심인 DispatcherServlet 클래스는 웹 요청을 처리하기 위한 공통의 알고리즘을 제공하는 책임을 갖는다고 공식 문서에 소개돼 있다. 이 외에도, 의존성 주입DI에 관한 문서를 보면 스프링이 의존 오브젝트를 찾아서 생성자로 주입해줄 때 사용하는 알고리즘에 대한 설명이 나온다. 아울러 스프링 테스트에서 DataSource를 찾는 방법도 알고리즘으로 이야기한다. 이렇게 스프링의 기술을 잘 이해하기 위해서는 스프링의 각 기술에 적용된 알고리즘을 이해하는 것이 필수다. 결국 스프링을 사용하는 개발자라면 누구보다도 알고리즘과 매우 긴밀하게 일을 하고 있는 셈이다.

더욱이, 기술을 이해하고 사용하는 데만 알고리즘이 필요한 게 아니다. 애플리케이션의 로직을 담은 컴포넌트와 코드를 작성하는 것 또한 사실상 알고리즘을 만들고 구현하는 과정이다. 스프링의 빈bean 컴포넌트 사이의 의존 관계 주입은 디자인 패턴 중 전략 패턴으로 설명된다. 스프링의 핵심은 런타임에 사용할 의존 오브젝트를 자유롭게 변경함으로써 유연하지만 견고한 애플리케이션을 개발하는 것이다. 전략 패턴은 런타임에 알고리즘을 자유롭게 교체할 수 있게 해주는 디자인 패턴이다. 그러니까 스프링은 결국 비즈니스 로직을 담은 알고리즘을 유연하게 확장하고, 교체하고, 합성해서 애플리케이션을 만들게 해주는 도구인 셈이다. 따라서 스프링 개발자라면 날마다 알고리즘을 설계하고 이를 조합해서 시스템을 만든다고 봐도 무방하다.

물론 알고리즘 인터뷰에 자주 등장하는 유명 알고리즘과 현장에서 다양한 도메인의 문제를 풀기 위해 매일 설계하고 구현해야 하는 알고리즘은 흡사 다르게 보이기도 한다. 그래도 결국 코드로 구현 가능한, 문제를 해결하는 방법과 절차라는 점에서는 유사하다. 문제를 해결할 때 시간과 공간을 어떻게 활용하는지에 주의를 기울여야 한다는 점도 비슷하다. 많은 양의 데이터를 적합한 자료구조에 담아 애플리케이션으로 가져와서 최적화된 메모리를 사용하면서 빠른 시간 내에 결과를 만들어내도록 실전 알고리즘을 구상하고 코드로 구현해내는 것이 급격하게 성장하고 꾸준히 복잡해지는 오늘날 서비스 개발자에게 요구되는 중요한 실력임이 분명하다.

개발자라면 알고리즘의 기초를 익혀야 하며, 자신이 사용하는 도구의 근간이 되는 프로그래밍 언어의 특징을 잘 파악하고 활용할 수 있는 훈련이 필요한데, 이 책 『자바 알고리즘 인터뷰 with 코틀린』은 그 점에서 탁월하다. 2장부터 이어지는 자바, 코틀린, 자료형에 관한 설명은 언어라는 도구를 최적의 알고리즘을 만들려면 어디까지 들여다보고 실험해야 하는지 모범을 보여준다. 자바와 코틀린을 태생부터 관심을 갖고 사용해왔던 나조차 미처 생각해보지 않은 영역까지 탐험하고 이를 바탕으로 이후 알고리즘을 전개하는 내용에선 감탄을 금하지 않을 수 없었다.

알고리즘 대회나 인터뷰를 위한 서적이나 자료를 훑다 보면 요즘 개발자들이 관심을 많이 갖는 클린 코드 관점에서 아쉬움이 느껴지는 코드를 많이 만나게 된다. 제한된 시간에 답을 내기만 하면 코드는 어떻게 만들고 구성해도 상관없다는 오해를 주면 어쩌나 하는 걱정이 들기도 한다. 그런데 이 책의 알고리즘 풀이 예제를 보면 간단한 구조이지만 적절한 모듈 분리, 의미 있는 네이밍, 읽고 이해하기 좋게 코드를 만들려는 저자의 강한 의지가 느껴진다. 이 책에 ‘실무’라는 단어가 얼마나 자주 등장하는지를 살펴본다면 이 책이 단순히 코딩 테스트 준비만을 위한 책 이상임을 알게 될 것이다.

당장 코딩 테스트와 인터뷰에서 필요한 지식을 쌓고 훈련을 하기에 좋을 뿐만 아니라, 이후에 애플리케이션을 만들 때 문제를 해결하는 가장 좋은 방법을 찾으려는 수고의 가치와 결과가 무엇인지 잊지 않게 해줄 수 있는 이 책은 개발자의 좋은 길잡이이자 동반자가 되어줄 것이다.


2020년에 출간된 『파이썬 알고리즘 인터뷰』는 코딩 테스트와 알고리즘 인터뷰를 준비하는 분을 위한 대표적인 서적으로 자리매김하며 많은 사랑을 받았다. 카카오에 재직할 당시 국내 최초로 개발자 블라인드 채용을 진행하면서 코딩 테스트 출제 위원으로 참여한 것이 계기가 되어 좋은 책으로 이어졌다. 카카오에서 코딩 테스트를 진행했던 경험, 이후에 좋은 인재를 채용하기 위해 수많은 면접자들을 대상으로 기술 인터뷰를 수행한 경험, 현대자동차로 이직한 후에도 현대자동차그룹에 더 좋은 소프트웨어 인재를 채용하기 위해 수백여 차례의 면접을 진행한 경험, 그리고 더 좋은 면접을 진행하기 위해 다른 회사의 기술 인터뷰까지 면밀히 살펴본 경험을 당시 첫 책에 모두 담아냈다. 무엇보다 최고의 알고리즘 책을 만들어보겠다는 노력이 작은 결실을 맺어 더할 나위 없이 기쁘다.

이번에 3년 만에 새롭게 출간되는 『자바 알고리즘 인터뷰 with 코틀린』은 첫 책을 출간할 때의 마음가짐을 그대로 계승하여 다시 한번 최고의 알고리즘 책을 만들기 위해 노력한 책이다. 심혈을 기울여 선정한 리트코드 문제 88개, 프로그래머스 문제 7개, 카카오 기출 문제 7개를 풀이했다. 지난번보다도 훨씬 더 효율적이고 깨끗한 코드를 제시하려고 노력했고, 실무에 그대로 적용해도 문제가 없는 수준으로 작성했다. 간혹 문제 해결에 급급한 나머지 실무에서 활용하기 어려운 코드를 제시하는 자료나 책도 눈에 띄지만, 적어도 이 책은 그렇지 않다. 코딩 테스트를 통과해 취업에 성공한 이후 실무에서도 계속해서 활용할 수 있는 풀이 코드를 제공하는 데 주력했다.

이 책에서 제시하는 모든 코드는 실무에 바로 적용해도 문제가 없을 정도로 수준을 높였다. 여러분이 이 책을 통해 익힌 코딩 역량은 실무에도 그대로 도움이 될 것이다. 그뿐만 아니라 전작과 마찬가지로 어려운 알고리즘을 친절한 일러스트로 풀어서 설명했다. 어렵기만 한 알고리즘을 다양한 역사와 함께 부가 설명을 곁들여 200여 장이 넘는 일러스트를 통해 직관적으로 설명하는 데 많은 노력을 기울였다. 이처럼 『자바 알고리즘 인터뷰 with 코틀린』은 『파이썬 알고리즘 인터뷰』와 비슷하면서도 한층 더 업그레이드된 책이다. 게다가 이번 책에서 가장 두드러지는 차이점은 풀이 언어로 ‘자바’를 택했다는 점이다. 자바는 코딩 테스트를 치를 때 가장 많은 사람들이 택하는 언어다. 이번 책으로 인해 좀 더 많은 독자분에게 도움을 줄 수 있길 바랐다. 이 외에도 지난 책에서 부족하다고 생각하는 부분을 대폭 보완했다.

이 책은 현업에 종사하는 개발자뿐만 아니라 아직 학교에 재학 중인 대학생에게도 유용하다. 특히 이제 막 졸업하고 취업을 희망하는 취업 준비생, 연구실을 나서는 석박사들에게 많은 도움이 될 것이다. 그뿐만 아니라 좋은 문제를 찾기 위한 면접관들에게도 이 책은 좋은 선택이 될 것이다. 나 또한 면접관으로서 더 좋은 문제를 출제하기 위해 수많은 코딩 테스트와 경진 대회에 참여했고 수많은 알고리즘 서적을 뒤적여야 했다. 이 책에는 그간 내가 겪은 경험과 어려움까지 고스란히 모두 반영했다.

이 책의 모든 문제에는 풀이와 해설이 바로 제시된다. 하지만 되도록 책의 풀이를 보지 않고 먼저 직접 풀어보기를 권장한다. 이 책에서 제시한 풀이는 가능한 한 최적의 풀이가 되도록, 또한 우아한 코드가 되도록 노력했기 때문에 여러분이 먼저 문제를 풀어본 다음, 여러분의 풀이와 이 책의 풀이를 비교해보면서 어떤 부분에 차이가 있는지를 한번 살펴보자. 여러분의 코드 품질과 풀이 방법을 개선하고 최적화 기법을 익히는 데에 큰 보탬이 될 것이다.

목차

[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] 역순 연결 리스트 II

9장 스택, 큐
스택

자바에서 활용하기
__자바의 큐 선언
__자바의 스택 선언
__스레드 안전이 필요한 경우
[문제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] 사라지는 발판

관련이미지

저자소개

박상길 [저] 신작알림 SMS신청
생년월일 -

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

정진호 [그림] 신작알림 SMS신청
생년월일 -

저자 정진호는 글로벌 인터넷 기업 야후에서 외부 개발자를 지원하는 엔지니어로 활동했고, SK커뮤니케이션즈에서는 기업문화팀에서 일했다. 총 16년 동안 직장 생활을 하면서 PHP 개발자 커뮤니티를 운영하고, 이그나이트 서울을 기획하는 등 여러 사람들과 생각을 나누고 공유하는 일을 즐겨 했다. 직장 생활 이후 취미처럼 그리던 그림을 가지고서 1인 기업을 설립, 현재는 J비주얼스쿨의 대표로 활동하고 있다. 대기업, 학교, 공공 기관 등에서 다양한 그림 관련 수업을 하고 있으며 수채화, 디지털 페인팅, 3D 모델링 등 아날로그와 디지털을 넘나들며 그림을 그리

펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    10.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주)KG이니시스 구매안전서비스서비스 가입사실 확인

    (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
    (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용