Do it! 알고리즘 코딩 테스트 C++ 편 김종관 pdf 다운로드를 무료로 제공합니다 “코딩 테스트를 제대로 준비하려면 어떤 문제를 얼마나 풀어야 할까?” 곧 코딩 테스트를 앞둔 취업 또는 이직 준비생이라면 누구나 이런 고민을 할 것이다
관련 교재 pdf 모음
책 소개
5년 동안 코딩 테스트 강의를 진행하면서 얻은 저자의 안목으로 실제 IT 기업 코딩 테스트에 출제되었거나 앞으로 출제될 만한 영역은 모두 책에 담았다. 이 책 한 권만 제대로 읽으면 어떤 코딩 테스트든 대비할 수 있도록 중요한 기초 알고리즘 이론부터 당락을 결정하는 고난도 문제까지 모두 다룬다. “역대 기출 유형을 총망라한 알고리즘 100제 수록” 중요도 3단계로 한 번 더 선별했다. 빈출, 핵심 문제부터 풀자! 이 책에 담긴 알고리즘 문제 100개만 풀어도 주요 IT 기업의 역대 코딩 테스트 기출 유형을 빠짐없이 공부할 수 있다. 100문제 중에서도 빈출 문제 10개, 핵심 문제 15개는 따로 선별했다. 시험이 코앞에 닥쳐 공부할 시간이 없다면 빈출 문제와 핵심 문제부터 풀어 보자. “모든 문제는 백준 온라인 저지에서 바로 실습” 백준 온라인 저지에서 문제 풀고 실시간으로 채점 받자! 책에 실린 문제는 모두 국내 최대 알고리즘 문제집 사이트인 백준 온라인 저지에서 풀고 실시간으로 채점 받을 수 있다. 책으로 문제 풀이 방법을 공부한 다음 백준 온라인 저지에서 다시 한번 혼자 문제를 풀어 보자. 직접 작성한 코드를 채점하고 수정하다 보면 코딩 실력이 쑥쑥 늘어나고, 핵심 알고리즘 유형마다 활용할 수 있는 나만의 템플릿 코드도 확보할 수 있다.
Do it! 알고리즘 코딩 테스트 C++
첫째마당 코딩 테스트 준비하기
01 어떤 알고리즘으로 풀어야 할까?
__01-1 시간 복잡도 표기법 알아보기
__01-2 시간 복잡도 활용하기
____[000] 수 정렬하기
02 코드의 논리 오류를 어떻게 잡을까?
__02-1 디버깅은 왜 중요할까?
__02-2 디버깅 활용 사례 살펴보기
둘째마당 Do it! 코딩 테스트 – 기초 편
03 자료구조
__03-1 배열과 리스트 그리고 벡터
____[001] 숫자의 합 구하기
____[002] 평균 구하기
__03-2 구간 합
____[003] 구간 합 구하기 1
____[004] 구간 합 구하기 2
____[005] 나머지 합 구하기
__03-3 투 포인터
____[006] 연속된 자연수의 합 구하기
____[007] 주몽의 명령
____[008] ‘좋은 수’ 구하기
__03-4 슬라이딩 윈도우
____[009] DNA 비밀번호
____[010] 최솟값 찾기 1
__03-5 스택과 큐
____[011] 스택으로 수열 만들기
____[012] 오큰수 구하기
____[013] 카드 게임
____[014] 절댓값 힙 구현하기
04 정렬
__04-1 버블 정렬
____[015] 수 정렬하기 1
____[016] 버블 정렬 프로그램 1
__04-2 선택 정렬
____[017] 내림차순으로 자릿수 정렬하기
__04-3 삽입 정렬
____[018] ATM 인출 시간 계산하기
__04-4 퀵 정렬
____[019] K번째 수 구하기
__04-5 병합 정렬
____[020] 수 정렬하기 2
____[021] 버블 정렬 프로그램 2
__04-6 기수 정렬
____[022] 수 정렬하기 3
05 탐색
__05-1 깊이 우선 탐색
____[023] 연결 요소의 개수 구하기
____[024] 신기한 소수 찾기
____[025] 친구 관계 파악하기
__05-2 너비 우선 탐색
____[026] DFS와 BFS 프로그램
____[027] 미로 탐색하기
____[028] 트리의 지름 구하기
__05-3 이진 탐색
____[029] 원하는 정수 찾기
____[030] 블루레이 만들기
____[031] 배열에서 K번째 수 찾기
06 그리디
__06-1 그리디 알고리즘
____[032] 동전 개수의 최솟값 구하기
____[033] 카드 정렬하기
____[034] 수를 묶어서 최댓값 만들기
____[035] 회의실 배정하기
____[036] 최솟값을 만드는 괄호 배치 찾기
07 정수론
__07-1 소수 구하기
____[037] 소수 구하기
____[038] 거의 소수 구하기
____[039] 소수 & 팰린드롬 수 중에서 최솟값 찾기
____[040] 제곱이 아닌 수 찾기
__07-2 오일러 피
____[041] 오일러 피 함수 구현하기
__07-3 유클리드 호제법
____[042] 최소 공배수 구하기
____[043] 최대 공약수 구하기
____[044] 칵테일 만들기
__07-4 확장 유클리드 호제법
____[045] Ax + By = C
셋째마당 Do it! 코딩 테스트 – 실전 편
08 그래프
__08-1 그래프의 표현
____[046] 특정 거리의 도시 찾기
____[047] 효율적으로 해킹하기
____[048] 이분 그래프 판별하기
____[049] 물의 양 구하기
__08-2 유니온 파인드
____[050] 집합 표현하기
____[051] 여행 계획 짜기
____[052] 거짓말쟁이가 되긴 싫어
__08-3 위상 정렬
____[053] 줄 세우기
____[054] 게임 개발하기
____[055] 임계 경로 구하기
__08-4 다익스트라
____[056] 최단 경로 구하기
____[057] 최소 비용 구하기
____[058] K번째 최단 경로 찾기
__08-5 벨만-포드
____[059] 타임머신으로 빨리 가기
____[060] 세일즈맨의 고민
__08-6 플로이드-워셜
____[061] 가장 빠른 버스 노선 구하기
____[062] 경로 찾기
____[063] 케빈 베이컨의 6단계 법칙
__08-7 최소 신장 트리
____[064] 최소 신장 트리 구하기
____[065] 다리 만들기
____[066] 불우이웃돕기
09 트리
__09-1 트리 알아보기
____[067] 트리의 부모 찾기
____[068] 리프 노드의 개수 구하기
__09-2 트라이
____[069] 문자열 찾기
__09-3 이진 트리
____[070] 트리 순회하기
__09-4 세그먼트 트리
____[071] 구간 합 구하기 3
____[072] 최솟값 찾기 2
____[073] 구간 곱 구하기
__09-5 최소 공통 조상
____[074] 최소 공통 조상 구하기 1
____[075] 최소 공통 조상 구하기 2
10 조합
__10-1 조합 알아보기
____[076] 이항계수 구하기 1
____[077] 이항계수 구하기 2
____[078] 부녀회장이 될 테야
____[079] 다리 놓기
____[080] 조약돌 꺼내기
____[081] 순열의 순서 구하기
____[082] 사전 찾기
____[083] 선물 전달하기
11 동적 계획법
__11-1 동적 계획법 알아보기
____[084] 정수를 1로 만들기
____[085] 퇴사 준비하기
____[086] 이친수 구하기
____[087] 2*N 타일 채우기
____[088] 계단 수 구하기
____[089] 연속된 정수의 합 구하기
____[090] 최장 공통부분 수열 찾기
____[091] 가장 큰 정사각형 찾기
____[092] 빌딩 순서 구하기
____[093] DDR을 해보자
____[094] 행렬 곱 연산 횟수의 최솟값 구하기
____[095] 외판원의 순회 경로 짜기
____[096] 가장 길게 증가하는 부분 수열 찾기
12 기하
__12-1 기하 알아보기
____[097] 선분 방향 구하기
____[098] 선분의 교차 여부 구하기
____[099] 선분을 그룹으로 나누기
____[100] 다각형의 넓이 구하기
찾아보기