서브메뉴

본문

프로그래머스 코딩 테스트 문제 풀이 전략: 자바 편 (핵심 개념, 79개 문제풀이, 코딩전문역량인증시험(PCCP) 대비까지!)
프로그래머스 코딩 테스트 문제 풀이 전략: 자바 편 (핵심 개념, 79개 문제풀이, 코딩전문역량인증시험(PCCP) 대비까지!)
저자 : 김현이
출판사 : 길벗
출판년 : 2023
ISBN : 9791140702916

책소개

핵심 개념, 프로그래머스에서 선별한 79개 문제 풀이, PCCP 대비까지!
합격에 한 걸음 더 가까워지는 실전형 코딩 테스트 문제 풀이 가이드

개발자 취업과 이직의 필수 관문, 코딩 테스트! 어떻게 준비해야 할까? 이 책은 시간 복잡도, 배열, 문자열, 정렬, 이진 탐색, 완전 탐색, 해시, 동적 프로그래밍, 자주 나오는 자료 구조 등 코딩 테스트에 필요한 핵심 지식을 모두 담고 있다. 단순히 문제를 풀어보는 것에서 그치지 않고, 문제를 분석하고, 요구 조건을 체크하고, 다양한 접근법으로 설계한 내용을 구현하며 문제를 푸는 생각의 흐름을 완성할 수 있게 도와준다. 또한, 기본 문제 풀이 외에 핵심 개념 및 다양한 풀이를 함께 살펴보며, 방금 푼 그 문제를 100% 내 것으로 만들 수 있게 구성했다. 프로그래머스의 노하우가 담긴 문제를 선별해 담았으며, 자바스러운 문제 풀이와 해결법으로 자바를 좀 더 깊이 있게 이해할 수 있다. 마지막으로 카카오 블라인드 테스트와 코딩전문역량인증시험(PCCP) 모의고사 문제를 책에서 배운 내용들을 이용해 풀어보면서 실전 감각을 키울 수 있다. 취업과 이직을 위해 코딩 테스트를 준비한다면 이 책으로 시작해보자.
[교보문고에서 제공한 정보입니다.]

출판사 서평

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

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 
[교보문고에서 제공한 정보입니다.]

QuickMenu