단계별은 @jh05013님이 관리하고 계십니다.
단계 | 제목 | 설명 | 정보 | 총 문제 | 내가 맞은 문제 |
---|---|---|---|---|---|
1 | 입출력과 사칙연산 | 입력, 출력과 사칙연산을 연습해 봅시다. Hello World! | 13 | ||
2 | 조건문 | if 등의 조건문을 사용해 봅시다. | 7 | ||
3 | 반복문 | for, while 등의 반복문을 사용해 봅시다. | 12 | ||
4 | 1차원 배열 | 배열을 사용해 봅시다. | 10 | ||
5 | 문자열 | 문자열을 다루는 문제들을 해결해 봅시다. | 11 | ||
6 | 심화 1 | 지금까지의 프로그래밍 문법으로 더 어려운 문제들을 풀어봅시다. | 10 | ||
7 | 2차원 배열 | 배열 안에 배열이 있다면 어떨까요? 2차원 배열을 만들어 봅시다. | 4 | ||
8 | 일반 수학 1 | 수학적 사고력을 길러 봅시다. | 8 | ||
9 | 약수, 배수와 소수 | 약수와 배수는 정수론의 시작점이라고 할 수 있습니다. | 6 | ||
10 | 기하: 직사각형과 삼각형 | 간단한 도형으로 기하 문제풀이를 시작해 봅시다. | 8 | ||
11 | 시간 복잡도 | 프로그램의 정확한 실행 시간을 예측하기는 매우 어렵습니다. 하지만 시간 복잡도를 사용하여 대략적인 예측은 가능합니다. | 7 | ||
12 | 브루트 포스 | 가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다. | 6 | ||
13 | 정렬 | 배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다. | 11 | ||
14 | 집합과 맵 | 특정 원소가 속해 있는지 빠르게 찾거나, 각 원소에 대응되는 원소를 빠르게 찾는 자료구조를 배워 봅시다. | 8 | ||
15 | 약수, 배수와 소수 2 | 정수론의 세계로 조금 더 들어가 봅시다. | 9 | ||
16 | ==== 절취선 ==== | 이 아래에 있는 단계들은 공사 중이고 많이 수정될 예정입니다. | 0 | ||
17 | 조합론 | 경우의 수를 세어 봅시다. | 4 | ||
18 | 심화 2 | 👑 | 5 | ||
19 | 스택 | 스택을 구현하고 사용해 봅시다. | 5 | ||
20 | 큐, 덱 | 큐와 덱을 구현하고 사용해 봅시다. | 7 | ||
21 | 재귀 | 재귀함수를 다뤄 봅시다. | 7 | ||
22 | 백트래킹 | 모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다. | 8 | ||
23 | 동적 계획법 1 | 기초적인 동적 계획법 문제들을 풀어봅시다. | 16 | ||
24 | 누적 합 | 부분구간 안에 있는 수들의 합을 빠르게 구해 봅시다. | 6 | ||
25 | 그리디 알고리즘 | 특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다. | 5 | ||
26 | 분할 정복 | 재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다. | 9 | ||
27 | 이분 탐색 | 이분 탐색 알고리즘을 배워 봅시다. | 7 | ||
28 | 우선순위 큐 | 가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다. | 3 | ||
29 | 동적 계획법 2 | 조금 더 어려운 동적 계획법 문제를 풀어 봅시다. | 6 | ||
30 | 스택 2 | 스택을 사용하여 더욱 어려운 문제를 해결해 봅시다. | 5 | ||
31 | 그래프와 순회 | 그래프를 배우고, 그래프를 순회하는 알고리즘을 배워 봅시다. | 16 | ||
32 | 최단 경로 | 그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요? | 7 | ||
33 | 투 포인터 | 투 포인터 알고리즘과 meet in the middle 알고리즘을 배워 봅시다. | 5 | ||
34 | 동적 계획법과 최단거리 역추적 | 지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다. | 9 | ||
35 | 트리 | 대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다. | 7 | ||
36 | 유니온 파인드 | 유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다. | 4 | ||
37 | 최소 신장 트리 | 최소 비용으로 그래프의 모든 정점을 연결해 봅시다. | 6 | ||
38 | 트리에서의 동적 계획법 | 트리에 동적 계획법을 적용해 봅시다. | 4 | ||
39 | 기하 2 | 조금 더 어려운 기하 문제를 풀어 봅시다. | 9 | ||
40 | 동적 계획법 3 | 비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다. | 6 | ||
41 | 문자열 알고리즘 1 | KMP 알고리즘과 트라이 자료구조를 다뤄 봅시다. | 5 | ||
42 | 위상 정렬 | 간선에 방향이 있는 그래프의 정점을 나열해 역방향이 없게 만드는 알고리즘을 다뤄 봅시다. | 3 | ||
43 | 최소 공통 조상 | 트리에서 두 정점의 최소 공통 조상을 구하는 자료구조를 배워 봅시다. | 5 | ||
44 | 강한 연결 요소 | Strongly connected component를 다뤄 봅시다. | 8 | ||
45 | 세그먼트 트리 | 구간 쿼리를 효율적으로 수행하는 자료구조를 배워 봅시다. | 8 | ||
46 | 스위핑 | 스위핑 알고리즘을 배워 봅시다. | 6 | ||
47 | 동적 계획법 4 | 동적 계획법의 세계는 끝이 없습니다. | 10 | ||
48 | 컨벡스 헐 | 모든 점을 포함하는 가장 작은 볼록 다각형을 만들어 봅시다. | 5 | ||
49 | 이분 매칭 | 이분 매칭 알고리즘에 대해 배워 봅시다. | 6 | ||
50 | 네트워크 플로우 | 네트워크 플로우 알고리즘에 대해 알아봅시다. | 8 | ||
51 | MCMF | 최소 비용으로 최대 유량을 흘려 봅시다. | 4 | ||
52 | 어려운 구간 쿼리 | 세그먼트 트리 with lazy propagation과 Mo's algorithm을 배워 봅시다. | 11 | ||
53 | 더 어려운 수학 | 포함-배제 정리, 빠른 소수 판정, 중국인의 나머지 정리 등을 다룹니다. | 5 | ||
54 | 고속 푸리에 변환 | 두 다항식을 O(NlogN) 만에 곱할 수 있다고 하면 믿으시겠습니까? 놀랍게도 가능합니다! | 5 | ||
55 | 문자열 알고리즘 2 | Manacher, Z, 접미사 배열, 아호 코라식을 배워 봅시다 | 11 | ||
56 | 세그먼트 트리 (Hard) | 지금까지 배운 세그먼트 트리 기술을 총동원해 봅시다. | 7 | ||
57 | 동적 계획법 최적화 | 다양한 동적 계획법 최적화 테크닉을 배워 봅시다. | 8 |