장바구니 담기 close

장바구니에 상품을 담았습니다.

프로그래머스 코딩 테스트 문제 풀이 전략 자바 편

프로그래머스 코딩 테스트 문제 풀이 전략 자바 편

  • 김현이
  • |
  • 길벗
  • |
  • 2023-02-23 출간
  • |
  • 668페이지
  • |
  • 183 X 235mm
  • |
  • ISBN 9791140702916
판매가

40,000원

즉시할인가

36,000

카드할인

0원(즉시할인 0%)

적립금

2,000원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

문제를 분석하고, 요구 조건을 체크하고,
다양한 접근법으로 설계한 내용을 구현하며
문제를 푸는 생각의 흐름을 완성하세요!

1. 다수의 코딩 테스트를 진행한 프로그래머스의 기출 문제 선별!
누적 응시자 수 77만, 누적 테스트 수 2만, 기업 고객 1500개 이상인 프로그래머스의 노하우가 담긴 문제 중 79개를 선별하여 담았습니다.

2. "문제 분석 → 요구 조건 파악 → 접근법 선택 → 단계별 구현"으로 학습!
실제 코딩 테스트의 문제를 푸는 과정을 그대로 경험할 수 있게 구성했으며, 문제를 푸는 생각의 흐름을 완성할 수 있게 도와줍니다.

3. 다양한 풀이법으로 접근!
문제의 해답은 하나가 아니라 여러 가지입니다. 책에서는 기본 문제 풀이 외에 핵심 개념 및 다양한 풀이를 함께 살펴보며, 방금 푼 문제를 100% 내 것으로 만들 수 있습니다.

4. 자바스러운 문제 풀이와 해결 기법!
자바 언어에 맞는 문제 풀이와 해결법으로 설명합니다. 나아가 자바에 대해 좀 더 깊이 있게 이해하고, 프로그래밍하는 방향과 과정을 살펴볼 수 있습니다.

5. 카카오 블라인드 테스트와 PCCP 모의고사 2회 수록!
카카오 2022 블라인드 테스트에 출제된 문제와 PCCP 모의고사 2회분의 문제를 책에서 배운 내용들을 이용해 풀어보면서 실전 감각을 키울 수 있습니다.

[베타 후기]

개발자는 끊임없이 공부해야 하는 직업이라고 생각합니다. 그중 알고리즘은 매우 중요한 요소 중 하나라고 생각하는데요. 이 책을 읽으면서 기본기를 다시 한 번 다지는 기회가 되었습니다. 특히 저도 코딩 테스트를 여러 번 봤는데, 시험에 나왔던 유형과 비슷한 문제들이 있어 다시금 풀어 보는 재미가 있었습니다. 코딩 테스트를 준비하면서 필요한 설명과 코드가 많이 들어 있어 취업을 준비하는 분들에게 많은 도움이 될 것 같습니다.
노승주 | 프런트엔드 개발자

코딩 테스트에서 출제되는 다양한 문제 유형을 다루며, 문제를 풀 수 있는 기본 개념을 먼저 설명해주는 책입니다. 다소 어려울 수 있는 내용도 기본 원리와 개념에 대해 이해하기 쉽게 설명하고 있습니다. 코딩 문제를 단순히 풀기만 하는 것이 아니라 다른 코딩 책에서 많이 놓치고 있는 최적의 시간 복잡도와 공간 복잡도까지 커버하기에 실전 코딩 테스트 준비에 가장 적합한 책이라고 생각됩니다. 코딩 테스트로 취업을 준비하는 학생, 이직을 준비하는 직장인에게 강력히 추천합니다.
이정우 | 구글 소프트웨어 엔지니어

코딩 테스트를 준비하고 있고 주로 자바를 사용한다면 추천하고 싶은 책입니다. 문제 풀이에는 다양한 해법들이 있습니다. 하지만 테스트와 대회에서 중요한 것은 그런 해법을 적용했을 때 문제를 풀 수 있는지를 빨리 깨닫는 것이라고 생각합니다. 풀이를 고민하지 않고 무작정 잘못된 방법으로 코딩하는 것은 해당 문제를 포기하는 것보다 더 안 좋은 결과를 가져다주기 때문입니다. 이 책을 읽고 나면 일단 코드 작성부터 하는 PS 초보에서, 문제를 머리로 해결한 후 코딩을 시작하는 고수가 되어 있는 자신을 발견하게 될 것입니다. 또 단순한 문제 풀이 책이 아니라 자바식으로 생각하는 법을 배울 수 있는 책이기 때문에 자바로 취직을 준비하고 있다면 꼭 한 번 읽어 보길 추천합니다.
최현경 | 카카오게임즈 백엔드 엔지니어

자바다운 풀이 방법이 궁금할 때 읽어 보면 좋은 책입니다. 문제 유형별로 활용 가능한 기본 라이브러리를 잘 설명하기 때문에 빠른 시간 내에 구현해야 하는 코딩 테스트에 많은 도움이 될 것입니다. 특히 찾아보지 않으면 놓치기 쉬운 기본 라이브러리의 시간 복잡도를 설명해주는 부분이 좋았습니다. 이를 통해 자신이 작성한 코드의 시간 복잡도를 좀 더 정교하게 계산하여 효율적인 알고리즘을 설계할 수 있을 것입니다.
채상욱 | 삼성전자 개발자

기존에 본 책들은 실제 코딩 테스트와 동떨어진 느낌이었습니다. 첫째, 내용은 좋으나 커버리지가 낮고 쉬운 문제로 구성되어 있었습니다. 둘째, competition에 맞추어 실제 코딩 테스트에서는 나오지 않는 문제를 다루는 경우가 대부분이었습니다. 또 백엔드 개발자의 경우 주 언어가 자바인데, 자바에 맞는 문제 풀이법이 없다는 점이 늘 아쉬웠습니다. 이 책은 실제 코딩 테스트에 나오는 많은 분량의 문제와 그에 맞는 자바식 문제 풀이 전략과 해결 기법을 다룹니다. 자바로 코딩 테스트를 준비하는 사람에게 좋은 이정표가 될 것이라고 생각합니다.
최범석 | 네이버 클라우드 소프트웨어 엔지니어

목차

1장. 코딩 테스트
1.1 코딩 테스트란? 
1.2 코딩 테스트를 보는 이유 
_1.2.1 문제 해결 과정을 보는 것 
_1.2.2 똑같은 결과를 빠르고, 효율적으로 
1.3 코딩과 디버깅 
_1.3.1 잘 짠 코드란?
_1.3.2 코드를 짤 때 흔히 하는 실수들
_1.3.3 디버깅과 시행착오 줄이기
_1.3.4 직접 설계하며 코드 작성해보기

2장. 시간 복잡도
2.1 시간 복잡도란? 
_2.1.1 빅오 표기법
_2.1.2 시간 복잡도 그래프
_2.1.3 입력 데이터 개수별 사용 가능한 시간 복잡도 알고리즘 
2.2 시간 복잡도 계산하기 
_2.2.1 어림짐작해보기
_2.2.2 시간 복잡도를 줄이는 방법
_2.2.3 여러 알고리즘을 사용할 때 시간 복잡도 생각해보기

3장. 배열
3.1 2차원 배열 이해하기 
_3.1.1 1차원 배열 + 1차원 배열? 
_3.1.2 2차원 배열 이해하기
3.2 2차원 배열 다루어 보기 
_3.2.1 2차원 배열 응용
[문제 01] 교점에 별 만들기 - Level 2
[문제 02] 삼각 달팽이 - Level 2 
_3.2.2 dx, dy로 방향을 정하는 방법 
[문제 03] 거리두기 확인하기 - Level 2
_3.2.3 연산 
[문제 04] 행렬의 곱셈 - Level 2

4장. 문자열
4.1 문자열이란 
_4.1.1 문자열의 특징 
_4.1.2 문자열을 다른 방식으로 생각해보기 
[문제 05] 자연수 뒤집어 배열로 만들기 - Level 1 
[문제 06] 이상한 시저 암호 - Level 1 
[문제 07] 이상한 문자 만들기 - Level 1 
4.2 문자열 다루어 보기
_4.2.1 문자열 응용하기 
[문제 08] 문자열 압축 - Level 2 
_4.2.2 진법 바꾸기 
[문제 09] 3진법 뒤집기 - Level 1 
[문제 10] 이진 변환 반복하기 - Level 2 
_4.2.3 찾기와 바꾸기 
[문제 11] 문자열 내 p와 y의 개수 - Level 1 
[문제 12] 숫자 문자열과 영단어 - Level 1 
4.3 정규표현식 
[문제 13] 문자열 다루기 기본 - Level 1 
[문제 14] 신규 아이디 추천 - Level 1 

5장. 재귀
5.1 재귀란? 
_5.1.1 for 문에서 벗어나기 
_5.1.2 재귀의 최대 범위와 한계점 기억하기
5.2 재귀 정의하기 
_5.2.1 상태 정의하기 
_5.2.2 종료 조건 
_5.2.3 점화식 
5.3 코드 작성하기
_5.3.1 코드 변환하기
_5.3.2 다양한 문제 풀이 
[문제 15] 쿼드압축 후 개수 세기 - Level 2 
[문제 16] 하노이의 탑 - Level 3 
[문제 17] 모음 사전 - Level 2 

6장. 완전 탐색
6.1 완전 탐색이란? 
_6.1.1 상태와 상태 전이 진행 
_6.1.2 완전 탐색의 종류 
_6.1.3 방문 처리
6.2 다양한 문제 풀이 
[문제 18] 모의고사 - Level 1 
[문제 19] 카펫 - Level 2 
[문제 20] 수식 최대화 - Level 2
[문제 21] 소수 찾기 - Level 2 
[문제 22] 불량 사용자 - Level 3 


7장. 정렬
7.1 정렬이란? 
_7.1.1 정렬 기준 잡기 
_7.1.2 정렬 효율 높이기
7.2 정렬하기 
_7.2.1 기본 기준 사용하기 
[문제 23] K번째 수 - Level 1 
[문제 24] 두 개 뽑아서 더하기 - Level 1 
[문제 25] H-Index - Level 2
_7.2.2 직접 기준 정하기 
[문제 26] 문자열 내림차순으로 배치하기
[문제 27] 문자열 내 마음대로 정렬하기 - Level 1 
[문제 28] 가장 큰 수 - Level 2
[문제 29] 메뉴 리뉴얼 - Level 2

8장. 이진 탐색
8.1 이진 탐색이란? 
_8.1.1 이진 탐색이 갖는 이점 
_8.1.2 이진 탐색을 사용할 수 있는 조건 
8.2 탐색 효율 높이기 
_8.2.1 분할 정복
_8.2.2 정렬 기준 정하기
8.3 자바의 이진 탐색 메서드
8.4 다양한 문제 풀이 
[문제 30] 순위 검색 - Level 2
[문제 31] 입국심사 - Level 3 
[문제 32] 징검다리 - Level 4 

9장. 해시
9.1 해시란? 
_9.1.1 해시 테이블
_9.1.2 해시의 시간 복잡도 
9.2 다양한 문제 풀이
[문제 33] 평행 - Level 0
[문제 34] 중복된 문자 제거 - Level 0 
[문제 35] A로 B 만들기 - Level 0
[문제 36] 없는 숫자 더하기 - Level 1
[문제 37] 완주하지 못한 선수 - Level 1 

10장. 동적 프로그래밍
10.1 동적으로 연산 줄이기 
_10.1.1 완전 탐색의 문제점 
_10.1.2 ‘동적 프로그래밍’의 핵심, 메모이제이션
_10.1.3 동적 프로그래밍의 조건
_10.1.4 번외: 순차 누적으로 구현해보기 
10.2 다양한 문제 풀이 
[문제 38] 피보나치 수 - Level 2
[문제 39] 정수 삼각형 - Level 3
[문제 40] 등굣길 - Level 3
[문제 41] 사칙연산 - Level 4

11장. 자주 등장하는 자료 구조
11.1 스택과 큐 
_11.1.1 스택 
[문제 42] 올바른 괄호 - Level 2
[문제 43] 괄호 회전하기 - Level 2
[문제 44]  주식 가격 - Level 2
_11.1.2 큐
[문제 45] 기능 개발 - Level 2
[문제 46] 다리를 지나는 트럭 - Level 2
_11.1.3 덱
11.2 그래프와 트리 
_11.2.1 그래프
[문제 47] 순위 - Level 3
[문제 48] 방의 개수 - Level 5 
_11.2.2 트리와 이진 트리
[문제 49] 길 찾기 게임 - Level 3
11.3 잊을 만하면 나오는 자료 구조 
_11.3.1 우선순위 큐 467
[문제 50] 이중 우선순위 큐 - Level 3 441
[문제 51] 디스크 컨트롤러 - Level 3
_11.3.2 투 포인터 473
[문제 52] 보석 쇼핑 - Level 3 
_11.3.3 유니온 파인드
[문제 53] 섬 연결하기 - Level 3
[문제 54] 호텔 방 배정 - Level 4 
_11.3.4 트라이 
[문제 55] 가사 검색 - Level 4

12장. 구현
12.1 주의해야 할 점 
_12.1.1 구현이 어려운 문제인 이유 
_12.1.2 디버깅 빨리하기 
12.2 문제에서 이야기하는 대로 만들기 
_12.2.1 규칙 찾아보기 
_12.2.2 다양한 문제 풀이 
[문제 56] 스킬 트리 - Level 2
[문제 57] 키패드 누르기 - Level 1
12.3 완전 탐색 기반으로 풀기 
_12.3.1 깊이 우선 탐색(DFS) 
_12.3.2 DFS: 스택
[문제 58] 타깃 넘버 - Level 2 
[문제 59] 네트워크 - Level 3 
_12.3.3 너비 우선 탐색(BFS) 
_12.3.4 BFS: 큐
[문제 60] 단어 변환 - Level 3 
[문제 61] 게임 맵 최단거리 - Level 3 
12.4 그리디 알고리즘 
_12.4.1 현재 상황에서 최선 
_12.4.2 결과적으로 최선인가? 
_12.4.3 다양한 문제 풀이 
[문제 62] 체육복 - Level 1 
[문제 63] 큰 수 만들기 - Level 2 
[문제 64] 단속 카메라 - Level 3

13장. 도전: 카카오 2022 블라인드 테스트
[문제 65] 신고 결과 받기 - Level 1 
[문제 66] k진수에서 소수 개수 구하기 - Level 2
[문제 67] 주차 요금 계산 - Level 2 
[문제 68] 양궁대회 - Level 2 
[문제 69] 양과 늑대 - Level 3 
[문제 70] 파괴되지 않은 건물 - Level 3 
[문제 71] 사라지는 발판 - Level 3

14장. 코딩전문역량인증시험, PCCP 모의고사
14.1 PCCP 모의고사 1회 
[문제 72] 외톨이 알파벳 - Level 1 
[문제 73] 체육대회 - Level 2 
[문제 74] 유전법칙 - Level 2 
[문제 75] 운영체제 - Level 3 
14.2 PCCP 모의고사 2회
[문제 76] 실습용 로봇 - Level 1
[문제 77] 신입 사원 교육 - Level 2
[문제 78] 카페 확장 - Level 2
[문제 79] 보물 지도 - Level 3 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.