주제: 제로베이스를 위한 알고리즘 스터디
기간: 2025.08.11 -
기초 → 자료구조 → 탐색/정렬 → 기본 알고리즘 → 중급 알고리즘 → 고급 알고리즘
단계 | 주제 | 세부 내용 |
---|---|---|
0 | Warming Up | CodeUp 기초 100제 |
1 | 기초 문법과 입출력 | - 표준 입출력 & 기본 문법 복습 - 기초 수학 (나머지 연산, 최대공약수/최소공배수, 소수 판별) |
2 | 기본 자료구조 | - 배열 / 문자열 기초 - 스택, 큐, 덱 - 해시맵 / 해시셋 - 트리 기초 (이진 트리, 순회) |
3 | 정렬 & 탐색 | - 정렬: 버블, 선택, 삽입 → 퀵, 병합, 힙 정렬 - 탐색: 선형 탐색, 이진 탐색 - BFS / DFS 기초 (그래프 탐색) |
4 | 핵심 알고리즘 | - 그리디 알고리즘 (동전 문제, 회의실 배정 등) - 구현·완전탐색·시뮬레이션 (브루트포스, 시뮬레이션 문제) - 백트래킹 (순열·조합, N-Queens 등) |
5 | 중급 알고리즘 | - 동적 계획법(DP): 피보나치, LCS, 0/1 배낭 문제 - 문자열 알고리즘: KMP, Rabin-Karp, 트라이, Aho-Corasick - 투포인터, 슬라이딩 윈도우 |
6 | *그래프 고급 (1~5단계 반복 학습 후 진행) |
- 최소 신장 트리(크루스칼, 프림) - 최단 경로(다익스트라, 벨만-포드, 플로이드-워셜) - 세그먼트 트리 / 펜윅 트리 - 최소 공통 조상(LCA) |
주차 | 일정 | 내용 | 목표 문제 수 | 추천 문제 |
---|---|---|---|---|
시작 전 | 워밍업 | 코드업 기초 100제 | 100 | CodeUp 기초 100제 |
1주차 | 준비 & 기초 문법 | 표준 입출력, 조건문, 반복문, 기초 연산, 기초 수학 | 20~25 | 2557, 1000, 2558, 2739, 10950, 8393, 15552, 2741, 2742, 11021, 11022, 2438, 2439, 10871, 10952, 10951, 10430, 2609, 1978, 1929 |
2주차 | 자료구조 기본 | 배열, 문자열, 스택, 큐, 덱, 해시맵, 트리 기초 | 15~20 | 10828, 10773, 9012, 10845, 18258, 2164, 11866, 10866, 1021, 1158, 7785, 1620, 14425 |
3주차 | 정렬 & 탐색 | 기초 정렬(버블, 선택, 삽입), 고급 정렬(퀵, 병합, 힙), 선형 탐색, 이진 탐색 | 15 | 2750, 2751, 10989, 25305, 2108, 1427, 1181, 10814, 11650, 11651, 1920, 10815, 2805, 2110 |
4주차 | BFS & DFS | 그래프 탐색, 인접 리스트/행렬, BFS, DFS 구현 | 15 | 1260, 11724, 1012, 2178, 2606, 2667, 7576, 7569, 1697, 13549, 12851 |
5주차 | 그리디 & 구현/완전탐색 | 그리디, 브루트포스, 시뮬레이션 | 15 | 11047, 1931, 1541, 13305, 11399, 2217, 1026, 1018, 1436, 2231, 7568, 3085 |
6주차 | 백트래킹 | 순열, 조합, N-Queens, 부분집합 생성 | 10 | 15649, 15650, 15651, 15652, 9663, 2580, 14888, 14889 |
7주차 | DP 기초 | 피보나치, LCS, 0/1 배낭 문제 | 12 | 2748, 9095, 1463, 11726, 11727, 1149, 1932, 2579, 12865, 9251 |
8주차 | 문자열 알고리즘 & 투포인터 | KMP, Rabin-Karp, 투포인터, 슬라이딩 윈도우 | 10~12 | 1786, 14425, 5525, 1157, 1316, 2002, 2470, 1940, 2531 |
- 하루 2~3문제 → 문제 풀이 후 반드시 풀이 아이디어 주석으로 남기기
- 문제풀이는
.ipynb
또는.py
파일로,push
는 매주 월요일
ohback's blog: https://velog.io/@ohback/series/