길벗·이지톡

도서 IT전문서/IT입문서 프로그래밍/오픈소스
핵심 개념, 81개 문제풀이, 코딩전문역량인증시험(PCCP) 대비까지! 취업과 이직을 위한 프로그래머스 코딩 테스트 문제 풀이 전략: 파이썬 편
정 가
40,000원
I S B N
9791140702893
출 간
2023-02-24
분 량
704쪽
지 은 이
김범수
난 이 도
초급,중급,고급
부 록
예제 소스 코드

합격에 한 걸음 더 가까워지는 실전형 코딩 테스트 문제 풀이 가이드

핵심 개념, 프로그래머스에서 선별한 81개 문제 풀이, PCCP 대비까지!

합격에 한 걸음 더 가까워지는 실전형 코딩 테스트 문제 풀이 가이드

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

 

목차

1장. 코딩 테스트

1.1 코딩 테스트란? 

1.2 코딩 테스트를 보는 이유 

_1.2.1 문제 해결 과정을 보는 것 

_1.2.2 모든 것의 기초, 생각하는 실력을 다지는 것

_1.2.3 똑같은 결과를 빠르고, 효율적으로 

1.3 코딩과 디버깅 

_1.3.1 잘 짠 코드란 무엇인가? 

_1.3.2 코드를 짤 때 흔히 하는 실수 

_1.3.3 디버깅과 시행착오 줄이기

 

2장. 시간 복잡도

2.1 시간 복잡도란? 

_2.1.1 빅오(Big-O) 표기법 

_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 배열을 다양하게 생각해보기

3.2 2차원 배열 다뤄보기 

_3.2.1 2차원 배열 응용

[문제 01] 교점에 별 만들기 - Level 2

[문제 02] 행렬 테두리 회전하기 - Level 2 

_3.2.2 dx dy로 방향을 정하는 방법 

[문제 03] 삼각 달팽이 - Level 2

[문제 04] 거리두기 확인하기 - Level 2 

_3.2.3 연산(숫자) 

[문제 05] 행렬의 곱셈 - Level 2

 

4장. 문자열

4.1 문자열이란 

_4.1.1 문자열의 특징 

_4.1.2 문자열을 다른 방식으로 생각해보기 

[문제 06] 시저 암호 - Level 1 

[문제 07] 이상한 문자 만들기 – Level 1 

4.2 문자열 다뤄보기 

_4.2.1 문자열 응용하기 

[문제 08] 튜플 – Level 2 

[문제 09] 짝지어 제거하기 – Level 2 

[문제 10] 문자열 압축 – Level 2

_4.2.2 진법 바꾸기 

[문제 11] 3진법 뒤집기 - Level 1 

[문제 12] 이진 변환 반복하기 - Level 2 

_4.2.3 찾아서 바꾸기 

[문제 13] 신규 아이디 추천 - Level 1 

4.3 정규표현식 

_4.3.1 정규표현식이란 

[문제 14] 문자열 다루기 기본 - Level 1 

[문제 15] 핸드폰 번호 가리기 - Level 1 

 

5장. 재귀

5.1 재귀 함수란? 

_5.1.1 for 문에서 벗어나기 

_5.1.2 재귀의 최대 범위와 한계점 기억하기

_5.1.3 참고: 꼬리 재귀 

5.2 재귀 정의하기 

_5.2.1 상태 정의하기 

_5.2.2 종료 조건 

_5.2.3 점화식 세우기 

5.3 다양한 문제 풀이 

[문제 16] 콜라츠 추측 - Level 1 

[문제 17] 하노이의 탑 - Level 3 

[문제 18] 모음 사전 - Level 2 

[문제 19] 호텔 방 배정 - Level 4

 

6장. 완전 탐색

6.1 완전 탐색이란? 

_6.1.1 문제를 이해하는 방법 

_6.1.2 상태와 상태 전이 진행 

_6.1.3 완전 탐색의 종류와 사용되는 자료 구조 

_6.1.4 방문 처리/백트래킹

6.2 다양한 문제 풀이 

[문제 20] 모의고사 – Level 1 

[문제 21] 카펫 – Level 2 

[문제 22] 소수 찾기 – Level 2 

[문제 23] 불량 사용자 - Level 3 

[문제 24] 수식 최대화 - Level 2

 

7장. 정렬

7.1 정렬이란 

_7.1.1 정렬의 기준 잡기 

_7.1.2 정렬의 종류

7.2 정렬하기 

_7.2.1 기본 기준 사용하기 

[문제 25] 두 개 뽑아서 더하기 - Level 1 

[문제 26] H-index - Level 2 

_7.2.2 직접 기준 정하기 

[문제 27] 문자열 내 마음대로 정렬하기 - Level 1 

[문제 28] 가장 큰 수 - Level 2

 

8장. 이진 탐색

8.1 이진 탐색이란? 

_8.1.1 이진 탐색이 가지는 이점 

_8.1.2 구현 방법 

8.2 탐색 효율 높이기 

_8.2.1 정렬 기준 정하기

_8.2.2 파라메트릭 서치

8.3 다양한 문제 풀이 

[문제 29] 입국심사 - Level 3 

[문제 30] 순위 검색 - Level 2 

[문제 31] 징검다리 - Level 4 

[문제 32] 징검다리 건너기 - Level 3

 

9장. 해시

9.1 해시란 

_9.1.1 해시 테이블이란 

_9.1.2 해시의 시간 복잡도 

9.2 다양한 문제 풀이 

[문제 33] 완주하지 못한 선수 - Level 1 

[문제 34] 전화번호 목록 - Level 2 

[문제 35] 위장 - Level 2 

[문제 36] 오픈 채팅방 - Level 2 

[문제 37] 베스트 앨범 - Level 3 

 

10장. 동적 프로그래밍

10.1 연산 줄이기 

_10.1.1 완전 탐색의 문제점 

[문제 38] 피보나치 수 - Level 2 

_10.1.2 동적 프로그래밍의 핵심, 메모이제이션

_10.1.3 구현 방법 

10.2 다양한 문제 풀이 

[문제 39] N으로 표현 - Level 3 

[문제 40] 정수 삼각형 - Level 3 

[문제 41] 등굣길 - Level 3 

[문제 42] 도둑질 - Level 4

 

11장. 자주 등장하는 자료 구조

11.1 스택과 큐 

_11.1.1 스택 

_11.1.2 큐와 덱  

_11.1.3 다양한 문제 풀이

[문제 43] 주식 가격 - Level 2 

[문제 44] 기능 개발 - Level 2 

11.2 그래프와 트리 

_11.2.1 그래프란 

_11.2.2 트리란 

_11.2.3 다양한 문제 풀이

[문제 45] 가장 먼 노드 - Level 3 

[문제 46] 순위 - Level 3 

[문제 47] 길 찾기 게임 - Level 3 

11.3 잊을 만하면 나오는 자료 구조 

_11.3.1 우선순위 큐 467

[문제 48] 디스크 컨트롤러 - Level 3

_11.3.2 투 포인터 473

[문제 49] 보석 쇼핑 - Level 3 

_11.3.3 유니온 파인드

[문제 50] 섬 연결하기 - Level 3 

_11.3.4 트라이 

[문제 51] 가사 검색 - Level 4

 

12장. 구현

12.1 주의해야 할 점 

_12.1.1 구현이 어려운 문제인 이유 

_12.1.2 문제 나눠서 생각하기: 모듈화 

_12.1.3 오류에 빠르게 대처하기 

12.2 문제에서 이야기하는 대로 만들기 

_12.2.1 규칙 찾아보기 

_12.2.2 다양한 문제 풀이 

[문제 52] 키패드 누르기 - Level 1 

[문제 53] 2개 이하로 다른 비트 - Level 2 

[문제 54] 스킬 트리 - Level 2 

[문제 55] 줄 서는 방법 - Level 2

12.3 완전 탐색 기반으로 풀기 

_12.3.1 깊이 우선 탐색(DFS) 

[문제 56] 타깃 넘버 - Level 2 

[문제 57] 여행 경로 - Level 3 

[문제 58] 네트워크 - Level 3 

[문제 59] 괄호 변환 - Level 2 

_12.3.2 너비 우선 탐색(BFS) 

[문제 60] 단어 변환 - Level 3 

[문제 61] 게임 맵 최단거리 - Level 3 

[문제 62] 경주로 건설 - Level 3 

12.4 탐욕 알고리즘 

_12.4.1 현재 상황에서의 최선 

_12.4.2 탐욕 알고리즘을 사용할 수 있는 경우와 사용할 수 없는 경우 

_12.4.3 다양한 문제 풀이 

[문제 63] 조이스틱 - Level 2 

[문제 64] 큰 수 만들기 - Level 2 

[문제 65] 구명보트 - Level 2 

[문제 66] 단속 카메라 - Level 3

 

13장. 도전: 카카오 2022 블라인드 테스트

[문제 67] 신고 결과 받기 - Level 1 

[문제 68] k진수에서 소수 개수 구하기 - Level 2

[문제 69] 주차 요금 계산 - Level 2 

[문제 70] 양궁대회 - Level 2 

[문제 71] 양과 늑대 - Level 3 

[문제 72] 파괴되지 않은 건물 - Level 3 

[문제 73] 사라지는 발판 - Level 3

 

14장. 코딩전문역량인증시험, PCCP 모의고사

14.1 PCCP 모의고사 1회 

[문제 74] 외톨이 알파벳 - Level 1 

[문제 75] 체육대회 - Level 2 

[문제 76] 유전법칙 - Level 2 

[문제 77] 운영체제 - Level 3 

14.2 PCCP 모의고사 2회

[문제 78] 실습용 로봇 - Level 1

[문제 79] 신입 사원 교육 - Level 2

[문제 80] 카페 확장 - Level 2

[문제 81] 보물 지도 - Level 3 

 

더보기접기

저자&기여자

ㆍ지은이 김범수

소개
어렸을 때부터 IT에 푹 빠져 있던 나머지 중학교 때부터 개발 공부를 시작했다. 현재는 크리에이터 굿즈 마켓 모음집 '트웬티' 앱을 개발 중이며, 신기술에 흥미가 많아 서빙로봇 '봉구'를 직접 개발해보기도 했고, 그 외에 다방면 분야에서 손이 닿는 대로 이것저것 도전해보고 있다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.