알고리즘별 연습 문제 세트¶
실버4~실버2로 넓게 → 감 잡히면 실버1~골드5로 깊게.
이분/파라메트릭¶
- 1920, 10816, 1654, 2805, 2110
- 팁: mid는
(l + r) >>> 1
, 조건을 만족하는 최대/최소를 찾는지 명확히.
두 포인터/슬라이딩¶
- 3273, 2003, 2018, 2559
- 팁: 정렬 필요 여부 / 구간합 갱신
맵·셋·문자열¶
- 1620, 1764, 14425, 10815, 18870(좌표압축)
- 팁:
HashMap/HashSet
성능, 문자열 파싱
스택/큐¶
- 1874, 17298, 18258, 2164
- 팁: 단조 스택으로 ‘다음 큰 수’/‘이전 큰 수’ 패턴화
DFS/BFS¶
- 1260, 11724, 2606, 2667, 2178, 7576, 1697
- 팁: 방문 리셋, 작은 번호 우선 정렬
그리디¶
- 11047, 11399, 1541, 2217, 1744, 2839
- 팁: 정렬 기준과 반례 직접 만들기
우선순위 큐¶
- 1927, 11279, 11286
- 팁: 비교자 주의(
(a,b) -> a-b
는 오버플로 위험 시Integer.compare
)
최단경로/플로이드¶
- 1753, 1916, 11404, 1238
- 팁:
(dist,node)
우큐, 방문 확정 시 continue
유니온/그래프¶
- 1717, 1976, 1197, 2252(위상)
- 팁: 경로압축+랭크, 크루스칼(간선 정렬 → 합치기)
DP¶
- 1463, 9095, 2579, 1149, 1932, 1912, 11053, 12865
- 팁: 점화식 → 테이블 → 초기값 → 순서(순회 방향) 체크