목차

목차

==== 1권 ==== 지은이의 글 1부 문제 해결 시작하기 __개관 1장 문제 해결과 프로그래밍 대회 __1.1 도입 __1.2 프로그래밍 대회 __1.3 이 책을 읽는 방법 __1.4 국내에서 참가할 수 있는 프로그래밍 대회들 __1.5 대회 준비를 위한 조언 __1.6 더 읽을 거리 2장 문제 해결 개관 __2.1 도입 __2.2 문제 해결 과정 __2.3 문제 해결 전략 __2.4 더 읽을거리 3장 코딩과 디버깅에 관하여 __3.1 도입: 코딩의 중요성을 간과하지 말라 __3.2 좋은 코드를 짜기 위한 원칙 __3.3 자주 하는 실수 __3.4 디버깅과 테스팅 __3.5 변수 범위의 이해 __3.6 실수 자료형의 이해(optional) __3.7 더 읽을 거리 2부 알고리즘 분석 개관 4장 알고리즘의 시간 복잡도 분석 __4.1 도입 __4.2 선형 시간 알고리즘 __4.3 선형 이하 시간 알고리즘 __4.4 지수 시간 알고리즘 __4.5 시간 복잡도 __4.6 수행 시간 어림짐작하기 __4.7 계산 복잡도 클래스: P, NP, NP-완비 __4.8 더 읽을 거리 5장 알고리즘의 정당성 증명 __5.1 도입 __5.2 수학적 귀납법과 반복문 불변식 __5.3 귀류법 __5.4 다른 기술들 __5.5 더 읽을 거리 3부 알고리즘 설계 패러다임 __개관 6장 무식하게 풀기 __6.1 도입 __6.2 재귀 호출과 완전 탐색 __6.3 문제: 소풍 (난이도: 하, 문제 ID: PICNIC) __6.4 풀이: 소풍 __6.5 문제: 게임판 덮기 (난이도: 하, 문제 ID: BOARDCOVER) __6.6 풀이: 게임판 덮기 __6.7 최적화 문제 __6.8 문제: 시계 맞추기 (난이도: 중, 문제 ID: CLOCKSYNC) __6.9 풀이: 시계 맞추기 __6.10 많이 등장하는 완전 탐색 유형 7장 분할 정복 __7.1 도입 __7.2 문제: 쿼드 트리 뒤집기 (문제 ID: QUADTREE, 난이도: 하) __7.3 풀이: 쿼드 트리 뒤집기 __7.4 문제: 울타리 잘라내기 (문제 ID: FENCE, 난이도: 중) __7.5 풀이: 울타리 잘라내기 __7.6 문제: 팬 미팅 (문제 ID: FANMEETING, 난이도: 상) __7.7 풀이: 팬 미팅 8장 동적 계획법 __8.1 도입 __8.2 문제: 와일드카드 (문제 ID: WILDCARD, 난이도: 중) __8.3 풀이: 와일드카드 __8.4 전통적 최적화 문제들 __8.5 문제: 합친 LIS (문제 ID: JLIS, 난이도: 하) __8.6 풀이: 합친 LIS __8.7 문제: 원주율 외우기 (문제 ID: PI, 난이도: 하) __8.8 풀이: 원주율 외우기 __8.9 문제: Quantization (문제 ID: QUANTIZE, 난이도: 중) __8.10 풀이: Quantization __8.11 경우의 수와 확률 __8.12 문제: 비대칭 타일링 (문제 ID: ASYMTILING, 난이도: 하) __8.13 풀이: 비대칭 타일링 __8.14 문제: 폴리오미노 (문제 ID: POLY, 난이도: 중) __8.15 풀이: 폴리오미노 __8.16 문제: 두니발 박사의 탈옥 (문제 ID: NUMB3RS, 난이도: 중) __8.17 풀이: 두니발 박사의 탈옥 9장 동적 계획법 테크닉 __9.1 최적화 문제의 실제 답 계산하기 __9.2 문제: 여행 짐 싸기 (문제 ID: PACKING, 난이도: 중) __9.3 풀이: 여행 짐 싸기 __9.4 문제: 광학 문자 인식 (문제 ID: OCR, 난이도: 상) __9.5 풀이: 광학 문자 인식 __9.6 k번째 답 계산하기 __9.7 문제: k번째 최대 증가 부분 수열 (문제 ID: KLIS, 난이도: 상) __9.8 풀이: k번째 최대 증가 부분 수열 __9.9 문제: 드래곤 커브 (문제 ID: DRAGON, 난이도: 중) __9.10 풀이: 드래곤 커브 __9.11 정수 이외의 입력에 대한 메모이제이션 __9.12 문제: 웨브바짐 (문제 ID: ZIMBABWE, 난이도: 상) __9.13 풀이: 웨브바짐 __9.14 문제: 실험 데이터 복구하기 (문제 ID: RESTORE, 난이도: 중) __9.15 풀이: 실험 데이터 복구하기 __9.16 조합 게임 __9.17 문제: 숫자 게임 (문제 ID: NUMBERGAME, 난이도: 하) __9.18 풀이: 숫자 게임 __9.19 문제: 블록 게임 (문제 ID: BLOCKGAME, 난이도: 중) __9.20 풀이: 블록 게임 __9.21 반복적 동적 계획법 __9.22 문제: 회전초밥 (문제 ID: SUSHI, 난이도: 중) __9.23 풀이: 회전초밥