Do it! 알고리즘 코딩 테스트 : 자바 편

Do it! 알고리즘 코딩 테스트 : 자바 편

$36.00
저자

김종관

저자:김종관
국내IT기업에서개발자로15년째일하고있습니다.임직원을대상으로한알고리즘코딩테스트강의를시작으로지금까지알고리즘을비롯한다양한강의활동도병행하고있습니다.코딩테스트강의를하며만난학생들이작은실수로아쉽게당락이좌우되는걸보며알고리즘의개념뿐아니라실수를줄여주는문제풀이방법,코딩테스트에서떨어지지않는작은팁까지이책에담았습니다.이책과함께C++편과파이썬편도집필했습니다.
여러IT분야에관심이있고,공부한내용을누구나쉽게이해할수있도록알려주는것을좋아합니다.최근에는관심영역을IT경영과클린코드,리팩터링,코드리뷰분야로넓히고있습니다.
주요저서
《Doit!알고리즘코딩테스트―자바편》(이지스퍼블리싱,2025)
《Doit!알고리즘코딩테스트―C++편》(이지스퍼블리싱,2022)
《Doit!알고리즘코딩테스트―파이썬편》(이지스퍼블리싱,2022)
《Doit!클린프로그래밍》(이지스퍼블리싱,2025)
《핵심정보통신기술총서8─알고리즘통계(공저)》

목차


첫째마당코딩테스트준비하기

01어떤알고리즘으로풀어야할까?
_01-1시간복잡도표기법알아보기
_01-2시간복잡도활용하기
__[000]수정렬하기

02코드의논리오류를어떻게잡을까?
_02-1디버깅은왜중요할까?
_02-2디버깅활용사례살펴보기

둘째마당Doit!코딩테스트―기초편

03미리보는코딩테스트오답노트
_03-1예상치못한음수결과해결하기
_03-2시간초과의원인을찾아해결하기
_03-3인덱스에의미부여하여풀어보기
_03-4나머지연산의중요성알아보기
_03-5정렬기초다지기
_03-6다중조건정렬익히기
_03-7이차원ArrayList사용하기

04자료구조
_04-1배열과리스트
__[001]숫자의합구하기
__[002]평균구하기
_04-2구간합
__[003]구간합구하기1
__[004]구간합구하기2
__[005]나머지합구하기
_04-3투포인터
__[006]연속된자연수의합구하기
__[007]주몽의명령
__[008]‘좋은수’구하기
_04-4슬라이딩윈도우
__[009]DNA비밀번호
__[010]최솟값찾기
_04-5스택과큐
__[011]스택으로수열만들기
__[012]오큰수구하기
__[013]카드게임
__[014]절댓값힙구현하기

05정렬
_05-1버블정렬
__[015]수정렬하기1
__[016]버블정렬프로그램1
_05-2선택정렬
__[017]내림차순으로자릿수정렬하기
_05-3삽입정렬
__[018]ATM인출시간계산하기
_05-4퀵정렬
__[019]K번째수구하기
_05-5병합정렬
__[020]수정렬하기2
__[021]버블정렬프로그램2
_04-6기수정렬
__[022]수정렬하기3

06탐색
_06-1깊이우선탐색
__[023]연결요소의개수구하기
__[024]신기한소수찾기
__[025]친구관계파악하기
_06-2백트래킹
__[026]N과M
__[027]N-Queen배치하기
__[028]색종이붙이기
_06-3너비우선탐색
__[029]DFS와BFS프로그램
__[030]미로탐색하기
__[031]트리의지름구하기
_06-4이진탐색
__[032]원하는정수찾기
__[033]블루레이만들기
__[034]배열에서K번째수찾기

07그리디
_07-1그리디알고리즘
__[035]동전개수의최솟값구하기
__[036]카드정렬하기
__[037]수를묶어서최댓값만들기
__[038]회의실배정하기
__[039]최솟값을만드는괄호배치찾기

08정수론
_08-1소수구하기
__[040]소수구하기
__[041]거의소수구하기
__[042]소수&팰린드롬수중에서최솟값찾기
__[043]제곱이아닌수찾기
_08-2오일러피
__[044]오일러피함수구현하기
_08-3유클리드호제법
__[045]최소공배수구하기
__[046]최대공약수구하기
__[047]칵테일만들기
_08-4확장유클리드호제법
__[048]Ax+By=C

셋째마당Doit!코딩테스트―실전편

09그래프
_09-1그래프의표현
__[049]특정거리의도시찾기
__[050]효율적으로해킹하기
__[051]이분그래프판별하기
__[052]물의양구하기
_09-2유니온파인드
__[053]집합표현하기
__[054]여행계획짜기
__[055]거짓말쟁이가되긴싫어
_09-3위상정렬
__[056]줄세우기
__[057]게임개발하기
__[058]임계경로구하기
_09-4다익스트라
__[059]최단경로구하기
__[060]최소비용구하기
__[061]K번째최단경로찾기
_09-5벨만-포드
__[062]타임머신으로빨리가기
__[063]세일즈맨의고민
_09-6플로이드-워셜
__[064]가장빠른버스노선구하기
__[065]경로찾기
__[066]케빈베이컨의6단계법칙
_09-7최소신장트리
__[067]최소신장트리구하기
__[068]다리만들기
__[069]불우이웃돕기

10트리
_10-1트리알아보기
__[070]트리의부모찾기
__[071]리프노드의개수구하기
_10-2트라이
__[072]문자열찾기
_10-3이진트리
__[073]트리순회하기
_10-4세그먼트트리
__[074]구간합구하기3
__[075]최솟값찾기2
__[076]구간곱구하기
_10-5최소공통조상
__[077]최소공통조상구하기1
__[078]최소공통조상구하기2

11조합
_11-1조합알아보기
__[079]이항계수구하기1
__[080]이항계수구하기2
__[081]부녀회장이될테야
__[082]다리놓기
__[083]조약돌꺼내기
__[084]순열의순서구하기
__[085]사전찾기
__[086]선물전달하기

12동적계획법
_12-1동적계획법알아보기
__[087]정수를1로만들기
__[088]퇴사준비하기
__[089]이친수구하기
__[090]2*N타일채우기
__[091]계단수구하기
__[092]연속된정수의합구하기
__[093]최장공통부분수열찾기
__[094]가장큰정사각형찾기
__[095]빌딩순서구하기
__[096]DDR을해보자
__[097]행렬곱연산횟수의최솟값구하기
__[098]외판원의순회경로짜기
__[099]가장길게증가하는부분수열찾기

13기하
_13-1기하알아보기
__[100]선분방향구하기
__[101]선분의교차여부구하기
__[102]선분을그룹으로나누기
__[103]다각형의넓이구하기

부록A시험장에서살아남는전략노트
_A-1문제를효과적으로분석하기
_A-2올바른알고리즘선택하기
_A-3탈락을결정짓는실수제거하기

찾아보기

출판사 서평

“최신출제경향100%반영”
실제코딩테스트에나올알고리즘영역만엄선했다!
8년동안코딩테스트강의를진행하면서얻은저자의노하우로실제IT기업코딩테스트에출제되었거나앞으로출제될만한영역을엄선했습니다.코딩테스트를앞두고이책을읽을여러분이오직시험대비에집중할수있도록출제확률이낮은자료구조와알고리즘영역은제외하고합격을위한핵심만담았습니다.

“국내최다!역대기출유형을총망라한알고리즘103제수록”
중요도3단계로한번더선별했다.빈출,핵심문제부터풀자!
주요IT기업의역대코딩테스트기출유형을빠짐없이공부할수있도록국내에서가장많은문제를수록했습니다.이책에담긴103제를풀면코딩테스트를완벽하게대비할수있습니다.이중에서도빈출문제11개,핵심문제16개는따로선별했습니다.시험이코앞에닥쳐공부할시간이없다면빈출문제와핵심문제부터풀어보세요.

“103제모두‘백준온라인저지’에서실습가능”
책으로한번,온라인으로한번더실습하면학습효과2배이상!
책에실린문제는모두국내최대알고리즘문제집웹사이트인;백준온라인저지;에서엄선했습니다.책으로문제풀이방법을공부한다음,‘백준온라인저지’에서직접문제를풀어보세요.자신이직접작성한코드를채점하고수정하다보면코딩실력이쑥쑥늘어나고,핵심알고리즘유형마다활용할수있는나만의템플릿코드도확보할수있습니다.

“4단계문제풀이습관으로연습을실전처럼”
코딩테스트는시간과의싸움!실전처럼연습해서극복하자!
다른시험과마찬가지로코딩테스트도주어진시간을적절히활용하여문제를풀어야합니다.시간에쫓겨실수하지않도록체계적인문제풀이방법을담았습니다.이책에서는[문제분석하기→손으로풀어보기→슈도코드작성하기→코드구현하기]까지총4단계로알고리즘문제를풉니다.이렇게문제를푸는습관을들인다면실제시험에서도실수없이실력을마음껏발휘할수있습니다.

“합격과불합격은종이한장차이!”
시험결과를좌우하는사소한꿀팁까지!
작은실수로시험에서아쉽게떨어지는사례가많습니다.8년동안코딩테스트강의를진행한저자가직접선정한,시험현장에서자주일어나는실수와이를줄이는노하우를[미리보는코딩테스트오답노트]에담았습니다.부록에는시험직전까지합격전략을되새길수있는[시험장에서살아남는전략노트]를수록했습니다.이책과함께공부하면그동안쌓아온여러분의노력이헛되지않게코딩테스트에합격할수있습니다!

“목표를정해혼자서도체계적으로공부한다!”
초보자를위한‘30일코스’와시험임박전‘3일코스’,2가지학습계획표제공
이책은혼자서도체계적으로공부할수있도록학습계획표를제공합니다.학습계획표에스스로목표날짜를써넣고공부해보세요.코딩테스트를차근차근공부하고싶다면‘30일코스’를,시험에임박해중요한문제만먼저풀어보고싶다면‘3일코스’를추천합니다.또한완성된예제파일을이지스퍼블리싱홈페이지와저자깃허브에서제공합니다.자신이작성한코드와예제파일을비교하며막힘없이공부해보세요!
이지스퍼블리싱홈페이지:easyspub.co.kr→[자료실]클릭→도서명검색
저자깃허브:github.com/doitcodingtest/java

함께배우고,나누고,성장하는‘Doit!스터디룸’으로오세요!
혼자계획을세우고공부하다보면금방지치기마련입니다.어려운내용은나와비슷한고민을하는독자와공유해보세요.서로도움을주고받으며공부하다보면더보람차니까요.내가잘이해한내용은남을도와주고내가잘이해하지못한내용은도움을받으면서공부하면복습효과도누릴수있습니다.멀리가려면친구와함께해보세요.
Doit!스터디룸:cafe.naver.com/doitstudyroom