JAVA로 풀어보는 백준 알고리즘
단계 | 제목 | 설명 |
---|---|---|
1 | 입출력과 사칙연산 | 입력, 출력과 사칙연산을 연습해 봅시다. Hello World! |
2 | if문 | if문을 사용해 봅시다. |
3 | for문 | for문을 사용해 봅시다. |
4 | while문 | while문을 사용해 봅시다. |
5 | 1차원 배열 | 배열을 사용해 봅시다. |
6 | 함수 | 함수를 정의하면 코드가 깔끔해지고 관리하기 쉬워집니다. |
7 | 문자열 | 문자열을 다루는 문제들을 해결해 봅시다. |
8 | 수학 1 | 수학 문제로 수학적 사고력을 길러 봅시다. |
9 | 수학 2 | 소수와 기하를 다뤄 봅시다. |
10 | 재귀 | 재귀함수를 다뤄 봅시다. |
11 | 브루트 포스 | 가장 간단한 알고리즘인, 모든 경우의 수를 검사하는 브루트 포스 알고리즘을 배워 봅시다. |
12 | 정렬 | 배열의 원소를 순서대로 나열하는 알고리즘을 배워 봅시다. |
13 | 백트래킹 | 모든 경우를 탐색하는 백트래킹 알고리즘을 배워 봅시다. |
14 | 동적 계획법 1 | 기초적인 동적 계획법 문제들을 풀어봅시다. |
15 | 그리디 알고리즘 | 특정 상황에서 성립하는 그리디 알고리즘을 배워 봅시다. |
16 | 수학 3 | 정수론과 조합론을 배워 봅시다.17 스택 스택을 구현하고 사용해 봅시다. |
17 | 스택 | 스택을 구현하고 사용해 봅시다. |
18 | 큐, 덱 | 큐와 덱을 구현하고 사용해 봅시다. |
19 | 분할 정복 | 재귀를 응용하는 알고리즘, 분할 정복을 익혀 봅시다. |
20 | 이분 탐색 | 이분 탐색 알고리즘을 배워 봅시다. |
21 | 우선순위 큐 | 가장 작은/큰 원소를 뽑는 자료구조를 배워 봅시다. |
22 | 동적 계획법 2 | 조금 더 어려운 동적 계획법 문제를 풀어 봅시다. |
23 | DFS와 BFS | 그래프를 순회하는 알고리즘을 배워 봅시다. |
24 | 최단 경로 | 그래프의 간선에 가중치가 없으면 BFS로 최단거리를 찾을 수 있습니다. 가중치가 있다면 어떨까요? |
25 | 동적 계획법 3 | 비트마스크를 배우고, 동적 계획법에 적용해 봅시다. 그 후에는 선형이 아니라 원형으로 구성된 문제를 다룹니다. |
26 | 동적 계획법과 최단거리 역추적 | 지금까지는 최솟값, 최댓값, 최단거리만 찾았습니다. 이번에는 실제 최적해와 최단경로를 찾아 봅시다. |
27 | 투 포인터 | 투 포인터와 미트 인 더 미들 (TODO: 설명 넣기) |
28 | 트리 | 대표적인 그래프 종류 중 하나인 트리를 다뤄 봅시다. |
29 | 유니온 파인드 | 유니온 파인드(또는 disjoint set, 상호 배타적 집합, ...) 자료구조를 배워 봅시다. |
30 | 최소 신장 트리 | 최소 비용으로 그래프의 모든 정점을 연결해 봅시다. |
... |