Devin.KR

기본 · 전체 목차 공개

논리로 푸는 알고리즘 - 코딩 테스트까지

문제를 논리로 읽고 복잡도를 추정한 뒤 구현·완전 탐색·재귀·정렬·이분 탐색·스택과 큐·해시·투 포인터·그리디·그래프 탐색·최단 경로·동적 계획법을 익힌다. 모든 풀이를 느린 정답과 대조해 검증하고 코딩 테스트 전략으로 마무리한다.

이 책을 읽기 전에

Python 기초 문법(조건·반복·함수·리스트·딕셔너리)

공개 16/16장 · 목차 구성 2026-09-12

CONTENTS

목차

읽음 표시는 직접 선택하며 자동 완료되지 않습니다.

  1. 01
    문제를 논리로 읽기 - 입력·출력·조건·반례

    문제 문장을 입력·출력·제약으로 바꾸기, 조건문을 명제로 쓰기(그리고·또는·아니면), 반례 먼저 찾기, 완전 탐색으로 정답 기준 만들기, 완성 코드는 조건 판정 문제를 명제식으로 풀고 모든 입력 조합을 표로 확인한다

  2. 02
    얼마나 빠른가 - 연산 횟수와 복잡도

    연산 횟수 세기, 빅오 표기의 의미와 한계, 제약에서 허용 복잡도 거꾸로 추정, 실제 반복 횟수를 세어 비교, 완성 코드는 세 가지 풀이의 연산 횟수를 입력 크기별로 세어 표로 출력한다

  3. 03
    구현 문제 - 시뮬레이션을 실수 없이

    상태를 자료로 표현, 방향 배열, 경계 검사, 단계별 출력으로 확인, 작은 함수로 나누기, 완성 코드는 격자 위 로봇 이동 시뮬레이션을 구현하고 단계별 상태를 출력한다

  4. 04
    완전 탐색 - 모든 경우를 빠짐없이

    반복문 중첩, 순열·조합·부분집합 만들기(itertools 와 직접 구현), 비트마스크, 가지치기 전 단계로서의 의미, 완성 코드는 부분집합 합 문제를 세 방법으로 풀고 결과를 대조한다

  5. 05
    재귀와 귀납 - 작은 문제로 큰 문제 풀기

    귀납적 사고와 재귀의 대응, 기저 사례, 호출 트리 그리기, 재귀 깊이 제한, 백트래킹, 완성 코드는 N-퀸 변형 문제를 백트래킹으로 풀고 호출 수를 함께 출력한다

  6. 06
    정렬 - 원리와 활용

    선택·삽입·병합·퀵 정렬의 불변식, 안정 정렬, key 함수와 다중 기준 정렬, 정렬 후 풀리는 문제들, 완성 코드는 직접 만든 병합 정렬과 내장 정렬 결과를 무작위 입력으로 대조한다

  7. 07
    이분 탐색 - 정렬된 곳과 답의 범위에서

    경계 찾기(lower/upper bound) 불변식, 오프바이원을 막는 반열린 구간, bisect 모듈, 답을 이분 탐색하는 매개변수 탐색, 완성 코드는 최소 용량 찾기 문제를 매개변수 탐색으로 풀고 완전 탐색과 대조한다

  8. 08
    스택·큐·덱 - 순서를 기억하는 자료구조

    괄호 짝, 단조 스택, BFS 의 큐, deque 활용, 리스트 pop(0) 의 비용, 완성 코드는 다음 큰 수 문제를 단조 스택으로 풀고 느린 풀이와 대조한다

  9. 09
    해시 - 세기와 찾기를 빠르게

    dict·set·Counter, 두 수의 합 유형, 누적 합과 해시 결합, 해시 충돌 개념, 완성 코드는 합이 K 인 구간 개수를 누적 합+해시로 풀고 완전 탐색과 대조한다

  10. 10
    투 포인터와 슬라이딩 윈도 - 구간을 밀며 보기

    정렬된 배열의 두 포인터, 가변 길이 윈도의 불변식, 언제 쓸 수 있고 언제 못 쓰는가(음수), 완성 코드는 조건을 만족하는 가장 짧은 구간을 구하고 완전 탐색과 대조한다

  11. 11
    그리디 - 지금 최선이 전체 최선일 때

    교환 논증으로 정당성 보이기, 회의실 배정형, 반례로 그리디가 틀리는 경우 확인, 완성 코드는 일정 선택 문제를 그리디로 풀고 작은 입력 전수 탐색으로 정답임을 확인한다

  12. 12
    그래프 탐색 - BFS 와 DFS

    인접 리스트, 방문 표시, 연결 요소, 격자 그래프, 최단 거리(가중치 없음)는 BFS, 반복 DFS 와 재귀 DFS, 완성 코드는 미로 최단 거리와 섬 개수를 구한다

  13. 13
    최단 경로 - 다익스트라와 그 한계

    가중치 그래프, heapq 다익스트라, 음수 간선에서 틀리는 이유, 경로 복원, 완성 코드는 다익스트라 결과를 작은 그래프에서 모든 경로 완전 탐색과 대조한다

  14. 14
    동적 계획법 1 - 상태와 점화식

    중복 부분 문제와 최적 부분 구조, 상태 정의가 전부, 메모이제이션과 표 채우기, 계단·동전 유형, 완성 코드는 동전 거스름 최소 개수를 재귀·메모·표 세 방식으로 풀어 대조한다

  15. 15
    동적 계획법 2 - 배낭·LCS·구간

    0/1 배낭, 최장 공통 부분 수열과 복원, 공간 줄이기, 상태 차원 늘리기, 완성 코드는 배낭과 LCS 를 풀고 작은 입력 전수 탐색과 대조한다

  16. 16
    문제 풀이 전략과 학습 계획 - 유형 판별에서 복습까지

    제약을 보고 알고리즘 후보 고르기 표, 막혔을 때 순서(작은 예→완전 탐색→관찰→최적화), 오답 노트와 재풀이 주기, 코딩 테스트 시간 배분, 완성 코드는 문제 제약 데이터를 받아 후보 알고리즘을 추천하는 판별표를 출력한다

이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.

이 책·표지의 저작권 및 출처 관련 요청