알고리즘 & 자료구조
코딩 테스트와 기술 면접 완벽 대비
이 시리즈에서 배우는 것
- ✅ 자료구조: 배열, 리스트, 스택, 큐, 트리, 그래프, 해시테이블
- ✅ 정렬: 버블, 선택, 삽입, 병합, 퀵 정렬 + 시간복잡도 분석
- ✅ 탐색: 이진 탐색, DFS, BFS, 백트래킹
- ✅ DP: 동적 프로그래밍 패턴과 실전 문제
- ✅ 그리디: 탐욕 알고리즘, 투 포인터, 슬라이딩 윈도우
📚 자료구조 기초
코딩 테스트 필수 자료구조 완벽 정리
- 01
배열과 리스트 | 코딩 테스트 필수 자료구조 완벽 정리
배열과 리스트: 코딩 테스트 필수 자료구조 완벽 정리. 가장 기본적인 자료구조·배열 (Array)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 02
스택과 큐 | 코딩 테스트 필수 자료구조 완벽 정리
스택과 큐: 코딩 테스트 필수 자료구조 완벽 정리. 스택 (Stack)·큐 (Queue)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 03
해시 테이블 | O(1) 탐색 자료구조 완벽 정리
해시 테이블: O(1) 탐색 자료구조 완벽 정리. 해시 함수 (Hash Function)·Python dict 사용법로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 04
트리 자료구조 | 이진 트리, BST, 순회 완벽 정리
트리 자료구조: 이진 트리, BST, 순회 완벽 정리. 트리 기본 개념·트리 순회로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 05
그래프 자료구조 | 인접 리스트, 인접 행렬, 탐색 완벽 정리
그래프 자료구조: 인접 리스트, 인접 행렬, 탐색 완벽 정리. 그래프 기본·그래프 표현로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
🔄 정렬 알고리즘
버블, 선택, 삽입, 병합, 퀵 정렬 마스터
- 06
정렬 알고리즘 | 버블, 선택, 삽입 정렬 완벽 정리
정렬 알고리즘: 버블, 선택, 삽입 정렬 완벽 정리. 버블 정렬 (Bubble Sort)·선택 정렬 (Selection Sort)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 07
고급 정렬 | 퀵, 병합, 힙 정렬 O(n log n) 완벽 정리
고급 정렬: 퀵, 병합, 힙 정렬 O(n log n) 완벽 정리. 퀵 정렬 (Quick Sort)·병합 정렬 (Merge Sort)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 08
정렬 문제 풀이 | 코딩 테스트 정렬 패턴 완벽 정리
정렬 문제 풀이에 대해 정리한 개발 블로그 글입니다. arr = [5, 2, 8, 1, 9] arr.sort() print(arr) # [1, 2, 5, 8, 9]
🔍 탐색 알고리즘
이진 탐색, DFS, BFS, 백트래킹
- 09
이진 탐색 | O(log n) 탐색 알고리즘 완벽 정리
이진 탐색: O(log n) 탐색 알고리즘 완벽 정리. 이진 탐색 기본·Lower Bound & Upper Bound로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 10
BFS와 DFS | 그래프 탐색 알고리즘 완벽 정리
BFS와 DFS: 그래프 탐색 알고리즘 완벽 정리. BFS (너비 우선 탐색)·DFS (깊이 우선 탐색)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 11
백트래킹 | 모든 경우의 수 탐색 알고리즘 완벽 정리
백트래킹: 모든 경우의 수 탐색 알고리즘 완벽 정리. 백트래킹 기본·순열과 조합로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
💡 동적 프로그래밍
DP 패턴과 실전 문제 풀이
- 12
동적 프로그래밍(DP) | 코딩 테스트 필수 알고리즘 완벽 정리
동적 프로그래밍(DP): 코딩 테스트 필수 알고리즘 완벽 정리. DP 기본 개념·Top-Down (메모이제이션)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 13
DP 패턴 | 동적 프로그래밍 유형별 풀이 전략
DP 패턴: 동적 프로그래밍 유형별 풀이 전략. 1차원 DP 패턴·2차원 DP 패턴로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 14
DP 실전 문제 | 코딩 테스트 DP 문제 풀이 전략
DP 실전 문제: 코딩 테스트 DP 문제 풀이 전략. 1로 만들기·편집 거리 (Edit Distance)로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
🎯 그리디 & 고급 기법
그리디, 투 포인터, 슬라이딩 윈도우
- 15
그리디 알고리즘 | "매 순간 최선" 탐욕 알고리즘 완벽 정리
그리디 알고리즘은 매 단계에서 지역 최선을 고르는 전략으로, 조건이 맞으면 효율적으로 최적해를 얻을 수 있습니다. 이 글에서는 적용 조건, 대표 문제, 증명 없이 쓸 때의 위험, 시간·공간 복잡도 관점과 코딩 테스트 팁을 다룹니다.
- 16
투 포인터 | O(n²) → O(n) 최적화 기법 완벽 정리
투 포인터: O(n²) → O(n) 최적화 기법 완벽 정리. 투 포인터 기본·실전 문제로 흐름을 잡고 원리·코드·실무 적용을 한글로 정리합니다.
- 17
슬라이딩 윈도우 | 부분 배열 최적화 기법 완벽 정리
알고리즘 슬라이딩 윈도우는 고정·가변 길이의 연속 구간을 한 칸씩 밀며 O(n)으로 갱신하는 기법입니다. 이 글에서는 고정·가변 윈도우를 구분하고, 합·최댓값·문자열 조건 문제에서의 패턴과 투 포인터와의 차이를 예제로 정리합니다.
학습 팁
직접 구현하기
코드를 보고 이해하는 것과 직접 작성하는 것은 다릅니다. 반드시 손으로 코딩하세요.
시간복잡도 분석
알고리즘의 효율성을 Big-O 표기법으로 분석하는 습관을 들이세요.
반복 학습
한 번에 이해되지 않아도 괜찮습니다. 여러 번 반복해서 익히세요.
문제 풀이
백준, 프로그래머스, LeetCode에서 유사 문제를 풀어보세요.