<aside>
💡
📅 알고리즘 스터디 14주 집중 커리큘럼
1단계: 기초 및 선형 자료구조 (1~3주)
- 1주차: 문자열 & 구현 & 기초 수학
- 내용: 문자열 파싱, 시뮬레이션 기초, 소수 판정 및 에라토스테네스의 체.
- 구성: [쉬운] 브론즈~실버 구현 / [어려운] 실버 상위 문자열 / [선택] 수학적 아이디어 문제.
- 2주차: 자료구조 (스택, 큐, 덱, 우선순위 큐)
- 내용: 각 자료구조의 특성과 활용 (괄호 검사, 프로세스 관리 등).
- 구성: [쉬운] 스택/큐 기본 / [어려운] 우선순위 큐 응용 / [선택] 자료구조 활용 시뮬레이션.
- 3주차: 누적합 & 투포인터
- 내용: 구간 합 구하기, 슬라이딩 윈도우, 두 포인터의 이동 조건.
- 구성: [쉬운] 1차원 누적합 / [어려운] 투포인터 응용 / [선택] 2차원 누적합.
2단계: 탐색과 그리디 (4~6주)
- 4주차: 완전탐색 (Brute Force) & 비트마스킹
- 내용: 순열, 조합, 재귀를 이용한 전체 탐색.
- 구성: [쉬운] 백트래킹 기초 / [어려운] 비트마스킹을 활용한 완탐 / [선택] N-Queen 등 대표 난제.
- 5주차: DFS & BFS 기초
- 내용: 그래프 탐색의 기본, 인접 행렬 vs 인접 리스트.
- 구성: [쉬운] 미로 탐색 / [어려운] 토마토(3차원) 또는 영역 구하기 / [선택] 특정 거리의 도시 찾기.
- 6주차: 그리디 (Greedy) & 이분탐색
- 내용: 현재의 최선 선택, 결정 문제로의 전환(Parametric Search).
- 구성: [쉬운] 회의실 배정 / [어려운] 이분탐색 응용(공유기 설치 등) / [선택] 그리디 증명이 필요한 문제.
3단계: 동적 계획법 및 고급 그래프 (7~11주)
본격적으로 난이도가 올라가는 구간으로, 매 주차 집중도가 필요합니다.
- 7주차: DP (동적 계획법) 입문 + 누적합
- 내용: Memoization, Bottom-up vs Top-down 기초.
- 구성: [쉬운] LIS 기본 / [어려운] 배낭 문제(Knapsack) / [선택] LCS.
- 8주차: DP 심화
- 내용: 트리 DP, 비트필드를 이용한 DP.
- 구성: [쉬운] RGB 거리 등 응용 / [어려운] 외판원 순회(TSP) / [선택] 트리에서의 독립집합.
- 9주차: 유니온 파인드 & 최소 신장 트리(MST)
- 내용: 서로소 집합, 크루스칼 및 프림 알고리즘.
- 구성: [쉬운] 집합의 표현 / [어려운] 도시 분할 계획 / [선택] 행성 터널.
- 10주차: 최단 경로 1 (다익스트라)
- 내용: 단일 출발점 최단 경로, Priority Queue 활용.
- 구성: [쉬운] 최단경로 기본 / [어려운] 파티(왕복) / [선택] 특정 정점을 거치는 최단 경로.
- 11주차: 최단 경로 2 (벨만포드 & 플로이드)
- 내용: 음수 가중치 처리, 모든 정점 간 최단 경로.
- 구성: [쉬운] 플로이드 기본 / [어려운] 타임머신(벨만포드) / [선택] 궁금한 민호(역방향 추론).
4단계: 트리 심화 및 실전 마무리 (12~14주)
- 12주차: 위상 정렬 & 트리 (LCA)
- 내용: 방향 그래프 순서 정하기, 최소 공통 조상 찾기.
- 구성: [쉬운] 줄 세우기 / [어려운] ACM Craft(위상+DP) / [선택] LCA 기본.
- 13주차: 세그먼트 트리 (Segment Tree)
- 내용: 구간 쿼리 최적화 (합, 최소값 등), 트리 업데이트.
- 구성: [쉬운] 구간 합 구하기 / [어려운] 구간 곱 구하기 / [선택] 최솟값과 최댓값.
- 14주차: 종합 모의고사 & 약점 보완
- 내용: 카카오/삼성 기출 등 실제 코딩테스트 세트 구성.
- 구성: [쉬운] 구현/그리디 / [어려운] 그래프/DP / [선택] 세그트리나 고난도 문제.
</aside>
발표 랜덤으로 하기 (3명)
다르게 푼 사람만 첨언하기
공통 문제 풀기 (주차별로 돌아가면서 문제 선정해오기)
- 그 주제별로 더 풀 사람들은 풀기
- 문제 정하는 순서 : ㄱㄴㄷ 순 (스터디 보고서 작성도)
- 문제 정하기 → github issues에 기록
문제 3개
1개 쉬운 거 (실버 3~4)
2개 어려운 거 (골드 이상)
이미 푼 문제라면 복기하기 + 다른 방법으로 풀 수 있으면 풀기