저자

이선협,박경록

저자:이선협
프로그래밍을사랑하는개발자.분야를가리지않고코딩하는것을즐기며요즘은지식을글로정리하는것을취미로삼고있다.현재주식회사코발트에서CTO로재직중이다.

저자:박경록
매일퇴근과점심메뉴를고민하는9년차시스템S/W개발자입니다.수학,알고리즘같은실생활과가깝고도먼학문을좋아하고,명확하지만개선여지가있는문제들에대해논의하고사고를개선해나가는과정을좋아합니다.
현삼성소프트웨어개발자
전삼성소프트웨어멤버십수료자

목차


[첫째마당:코딩테스트사전준비]

00장코딩테스트를준비하기전에
__00-1합격자가꼭되고싶은여러분
__타인의풀이를보면사고를넓힐수있다
__나만의테스트케이스를추가하는건좋은알고리즘을생각할때도움이된다
__00-2아는것과모르는것을명확하게
__첫번째,기록하라
__두번째,시험보듯공부하라
__세번째,짧은시간공부해서는절대코딩테스트를통과할수없다
__네번째,나만의언어로요약하라
__00-3자료구조와알고리즘,그리고코딩테스트
__자료구조와알고리즘이란?
__자료구조와알고리즘은세상을전산화하는방법입니다
__코딩테스트는업무에도움이되는가?

01장코딩테스트효율적으로준비하기
__01-1언어선택하기
__01-2문제분석연습하기
__첫번째,문제를쪼개서분석하라
__두번째,제약사항을파악하고테스트케이스를추가하라
__세번째,입력값을분석하라
__네번째,핵심키워드를파악하라
__다섯번째,데이터흐름이나구성을파악하라
__01-3의사코드로설계하는연습하기
__첫번째,세부구현이아닌동작중심으로작성하라
__두번째,문제해결순서로작성하라
__세번째,충분히테스트하라

02장프로그래머스완벽활용가이드
__02-1프로그래머스는어떤곳인가요?
__02-2프로그래머스활용가이드
__프로그래머스살펴보기
__문제풀이과정살펴보기
__02-3문제풀이전준비사항

03장알고리즘의효율분석
__03-1시간복잡도란?
__1차원배열검색하기
__알고리즘수행시간을측정하는방법
__최악의경우시간복잡도를표현하는빅오표기법
__시간복잡도를코딩테스트에활용하는방법
__03-2시간복잡도계산해보기
__별찍기문제
__박테리아수명문제

04장코딩테스트필수문법
__04-1빌트인데이터타입
__숫자
__문자열
__그외타입
04-2참조타입
__원시타입의동작방식알아보기
__참조타입의동작방식알아보기
__오브젝트
__배열
04-3함수
04-4코딩테스트코드구현노하우
__구조분해할당
__값교환하기
__비구조화할당
__스프레드연산자
__배열내같은요소제거하기
__&&와||연산자로조건문대체하기

[둘째마당:코딩테스트완전정복]

05장배열
__05-1배열개념
__배열선언
__배열과차원
__05-2배열의효율성
__배열연산의시간복잡도
__배열을선택할때고려할점
__05-3몸풀기문제
__[문제01]배열정렬하기★
__[문제02]배열제어하기★★
__05-4합격자가되는모의테스트
__[문제03]두수를뽑아서더하기★
__[문제04]모의고사★
__[문제05]행렬의곱셈★
__[문제06]실패율★★
__[문제07]방문길이★★

06장스택
__06-1스택개념
__스택의동작원리이해하기
__06-2스택의정의
__스택의ADT
__06-3몸풀기문제
__[문제08]괄호짝맞추기★★
__[문제09]10진수를2진수로변환하기★
__06-4합격자가되는모의테스트
__[문제10]괄호회전하기★
__[문제11]짝지어제거하기★
__[문제12]주식가격★★
__[문제13]크레인인형뽑기게임★★
__[문제14]표편집★★★★★

07장큐
__07-1큐의개념
__큐에서데이터가이동하는과정살펴보기
__큐의특성을활용하는분야
__큐의ADT
__07-2몸풀기문제
__[문제15]요세푸스문제★★
__07-3합격자가되는모의테스트
__[문제16]기능개발★★
__[문제17]카드뭉치★★

08장해시
__08-1해시의개념
__해시자세히알아보기
__해시의특성을활용하는분야
__08-2해시함수
__해시함수를구현할때고려할내용
__자주사용하는해시함수알아보기
__08-3충돌처리
__체이닝으로처리하기
__개방주소법으로처리하기
__08-4몸풀기문제
__[문제18]두개의수로특정값만들기★
__[문제19]문자열해싱을이용한검색함수만들기★★
__08-5합격자가되는모의테스트
__[문제20]완주하지못한선수★
__[문제21]영어끝말잇기★
__[문제22]전화번호목록★★
__[문제23]할인행사★★
__[문제24]오픈채팅방★★
__[문제25]베스트앨범★★
__[문제26]신고결과받기★★
__[문제27]메뉴리뉴얼★★★

09장트리
__09-1트리개념
__나무를거꾸로뒤집어놓은모양의트리
__09-2이진트리표현하기
__배열로표현하기
__이진트리순회하기
__포인터로표현하기
__인접리스트로표현하기
__09-3이진트리탐색하기
__이진탐색트리구축하기
__이진탐색트리탐색하기
__이진탐색트리와배열탐색의효율비교
__09-4몸풀기문제
__[문제28]트리순회★
__[문제29]이진탐색트리구현★
__09-5합격자가되는모의테스트
__[문제30]예상대진표★
__[문제31]다단계칫솔판매★★
__[문제32]길찾기게임★★★★

10장집합
__10-1집합과상호배타적집합의개념
__집합의개념
__상호배타적집합의특성을활용하는분야
__10-2집합의연산
__배열을활용한트리로집합표현하기
__유니온-파인드알고리즘
__10-3몸풀기문제
__[문제33]간단한유니온-파인드알고리즘구현하기★★
__10-4합격자가되는모의테스트
__[문제34]폰켓몬★
__[문제35]섬연결하기★★★

11장그래프
__11-1그래프의개념
__그래프용어정리
__그래프의특징과종류
__그래프구현
__11-2그래프탐색
__깊이우선탐색
__너비우선탐색
__깊이우선탐색과너비우선탐색비교
__11-3그래프최단경로구하기
__다익스트라알고리즘
__벨만-포드알고리즘
__11-4몸풀기문제
__[문제36]깊이우선탐색순회★
__[문제37]너비우선탐색순회★
__[문제38]다익스트라알고리즘★★★
__[문제39]벨만-포드알고리즘★★★
__11-5합격자가되는모의테스트
__[문제40]미로탈출★★
__[문제41]게임맵최단거리★★
__[문제42]네트워크★★
__[문제43]양과늑대★★★★★
__[문제44]배달★★★
__[문제45]경주로건설★★★★★
__[문제46]전력망을둘로나누기★★

12장백트래킹
__12-1백트래킹과백트래킹알고리즘개념
__백트래킹이란?
__백트래킹알고리즘이란?
__유망함수란?
__백트래킹알고리즘문제에적용해보기
__N-퀸문제
__12-2몸풀기문제
__[문제47]1부터N까지숫자중합이10이되는조합구하기★
__[문제48]스도쿠퍼즐★★★
__12-3합격자가되는모의테스트
__[문제49]피로도★
__[문제50]N-퀸★
__[문제51]양궁대회★★
__[문제52]외벽점검★★★★★
__[문제53]사라지는발판★★★★★

13장정렬
__13-1정렬개념
__정렬이필요한이유
__삽입정렬
__병합정렬
__힙정렬
__우선순위큐
__계수정렬
__위상정렬
__13-2몸풀기문제
__[문제54]계수정렬구현하기★
__[문제55]정렬이완료된두배열합치기★
__13-3합격자가되는모의테스트
__[문제56]문자열내마음대로정렬하기★
__[문제57]정수내림차순으로배치하기★
__[문제58]K번째수★
__[문제59]가장큰수★★★
__[문제60]튜플★★
__[문제61]지형이동★★★★

14장시뮬레이션
__14-1시뮬레이션문제풀이노하우
__시뮬레이션문제를푸는방법
__행렬연산
__좌표연산
__대칭,회전연산
__14-2몸풀기문제
__[문제62]배열회전하기★★
__[문제63]두행렬을곱한후전치행렬만들기★
__[문제64]달팽이수열만들기★★
__14-3합격자가되는모의테스트
__[문제65]이진변환★★
__[문제66]롤케이크자르기★★
__[문제67]카펫★★
__[문제68]점프와순간이동★★
__[문제69]캐릭터의좌표★★

15장동적계획법
__15-1동적계획법개념
__점화식세우기와동적계획법
__재귀호출의횟수를줄여주는메모이제이션
__최장증가부분수열
__최장공통부분수열
__15-2몸풀기문제
__[문제70]LCS길이계산하기★★★
__[문제71]LIS길이계산하기★★★
__[문제72]조약돌문제★★★
__15-3합격자가되는모의테스트
__[문제73]피보나치수★
__[문제74]2×n타일링★
__[문제75]정수삼각형★★
__[문제76]땅따먹기★★
__[문제77]도둑질★★★★★
__[문제78]가장큰정사각형찾기★★★
__[문제79]단어퍼즐★★★★

16장그리디
__16-1그리디개념
__그리디알고리즘으로거스름돈내어주기
__그리디알고리즘이최적해를보장하려면?
__16-2최소신장트리
__신장트리란?
__최소신장트리란?
__16-3배낭문제
__짐을쪼갤수있는부분배낭문제
__짐을쪼갤수없는0/1배낭문제
__16-4몸풀기문제
__[문제80]거스름돈주기★★
__[문제81]부분배낭문제★★
__16-5합격자가되는모의테스트
__[문제82]예산★
__[문제83]구명보트★
__[문제84]귤고르기★★
__[문제85]기지국설치★★

[부록1:모의고사]

_01회모의고사
__[문제86]미로탈출명령어
__[문제87]택배배달과수거하기
__[문제88]개인정보수집유효기간
_02회모의고사
__[문제89]110옮기기
__[문제90]쿼드압축후개수세기
__[문제91]없는숫자더하기
_03회모의고사
__[문제92]

출판사 서평

★빈출문제100개면코딩테스트합격할수있어요!
★자료구조,알고리즘이론개념도꽉챙겨주는책으로면접까지대비해요!

코딩테스트는IT기업에입사하려면꼭넘어야하는허들입니다.코딩테스트준비는무작정많은문제를푼다고합격할수있을까요?저자는아니라고말합니다.대부분의코딩테스트는기업이응시자에게요구하는기준에맞춰문제를구성하게되어있습니다.그러니그기준에맞는빈출문제로전략적인코테대비를하는것이훨씬합격에유리하죠.《코딩테스트합격자되기》(자바스크립트편)은프로그래머스를통해기업코딩테스트에출제되었던문제100개를카테고리별로나누고,빈출순서로배치하였습니다.한마디로여러분의코테합격을위한문제들을유형,중요순서로가득채운책이죠.또한여러분이코테시험전에꼭알아야할코테공부마인드셋부터자바스크립트문법돌아보기,자료구조·알고리즘이론까지꽉꽉채웠습니다.단순히문제만풀어주는것이아니라원리를제대로이해할수있게해주죠.분명면접에도큰도움이될것입니다.

★슈도코드를쓰고,그림을그리고,시간복잡도를분석하세요!
★코드도중요하지만문제를풀어나가는사고력이더중요합니다!

저자는코드도중요하지만문제를풀기위해고민하는과정이더중요하다고이야기합니다.문제해결단위중심으로슈도코드를작성해서시간낭비를줄이고,그림을그려문제의핵심을더쉽게파악하고,시간복잡도를미리생각해서불필요한알고리즘을제외하고적절한알고리즘을선택하라고이야기하죠.다만처음부터여러분이이렇게하기는쉽지않습니다.그래서본문은슈도코드보기?그림으로생각하기?시간복잡도고려하기의구성으로쓰여있습니다.단순히문제만풀어주는책이아닙니다.올바른코딩테스트습관을들여합격률을올려주는책입니다.

★독자여러분의학습을1000%지원합니다!
★저자운영네이버카페,오픈카카오톡채팅방,깃허브+묘공단으로함께공부하세요!
★200%효과를내는학습구성을소개합니다!
이책의각장은이론,몸풀기문제,실전모의테스트문제로구성되어있습니다.이론을공부하며천천히걷기시작해서배운내용을확인하기위한몸풀기문제를푼다음,마지막으로는실전모의테스트문제로마무리하세요.그러면어느새코딩테스트에합격한여러분을발견할수있을것입니다.

[01단계]이론탄탄하게다지기
__각장의처음은이론을풍성한그림과함께친절한설명으로공부합니다.
[02단계]연습문제로워밍업
__그런다음에는저자선생님이직접출제한몸풀기문제로배운내용을문제에적용해봅니다.
[03단계]모의테스트로마무리
__코딩테스트실전풀이죠!마지막으로실전모의테스트문제로실전감각을익히고노하우를전수받으세요.
[보너스단계]엄친아손노트요약집
__엄친아손노트만분리해가볍게가지고다니며공부한내용을정리해보세요.급할때일수록유용합니다.

★실전에서떨지말고〈실전모의고사〉로실전처럼준비하세요!
평소에잘풀리던문제들…막상시험장에들어가니실력발휘가잘되지않아서아쉬웠던적이있나요?저자선생님은‘시험도연습해야한다’고말합니다.이책은신입사원수준의〈실전모의고사〉를5회분으로준비했습니다.각테스트는제대로된연습을할수있도록3시간안에풀수있는3개의문제로구성했습니다.시계를옆에두고테스트에임해보세요.철저한시험연습은여러분의합격률을크게올려줄것입니다.

★리마인드하고싶을때꺼내보면좋은〈엄친아손노트〉떼어북!
시험은항상긴장되죠.그래서시험전에보면좋을무언가가필요한데요,책을들고가도좋지만두꺼운책을시험전에모두읽는건어려운일입니다.그래서리마인드가필요할때보면딱좋을요약집을준비했습니다.떼어북으로제공하는〈엄친아손노트〉요약집에책의핵심내용을꾹꾹눌러담았습니다.시험전에보면리마인드에큰도움이될것이라생각합니다.