https://github.com/tony9402/baekjoon
코딩테스트 대비 문제집(Baekjoon Online Judge)
https://github.com/tony9402/baekjoon
algorithms baekjoon baekjoon-algorithm baekjoon-online-judge baekjoon-online-judge-solution baekjoon-solutions bfs coding-test disjoint-set math pointer problem-solving problems trie
Last synced: 5 days ago
JSON representation
코딩테스트 대비 문제집(Baekjoon Online Judge)
- Host: GitHub
- URL: https://github.com/tony9402/baekjoon
- Owner: tony9402
- License: mit
- Created: 2019-08-04T12:48:59.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T17:11:09.000Z (5 days ago)
- Last Synced: 2025-05-12T18:25:57.760Z (5 days ago)
- Topics: algorithms, baekjoon, baekjoon-algorithm, baekjoon-online-judge, baekjoon-online-judge-solution, baekjoon-solutions, bfs, coding-test, disjoint-set, math, pointer, problem-solving, problems, trie
- Language: C++
- Homepage:
- Size: 23.1 MB
- Stars: 6,138
- Watchers: 19
- Forks: 1,187
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-baekjoon - 코딩테스트 대비 문제집 with Baekjoon - 코딩 테스트 대비용 알고리즘 문제집입니다. (학습 / 기타)
README
# 코딩테스트 대비 문제집 with Baekjoon
[](https://github.com/tony9402/baekjoon/actions/workflows/auto_update.yml)
[](https://github.com/tony9402/baekjoon)
[](https://github.com/tony9402/baekjoon/discussions)
[](https://github.com/tony9402/baekjoon/blob/main/picked.md)
[](https://github.com/tony9402/algorithm-solutions)
[](mailTo:[email protected])## 코딩테스트 문제집
백준 레포에서 확장을 하여 사이트로 만들었습니다. 필터링, 검색 기능도 있으니 깃헙으로 보는 것보다 조금 더 편할 수 있습니다.
https://algorithm.tony9402.com/
## 집단지성 프로젝트
코딩테스트 문제집 확장을 하여 해당 레포에 솔루션 업로드가 아닌 [알고리즘 솔루션](https://github.com/tony9402/algorithm-solutions)에서 PR을 올려주시면 됩니다. 현재 main 브랜치에 merge된 솔루션은 다 이전을 완료했습니다.
현재 Open된 PR 올려주신 분들도 저 레포에 다시 올려주시면 감사하겠습니다.
## 백준 코딩테스트 문제집
❈ 코딩테스트을 준비하시는 분들을 위해 문제집을 만들어봤습니다. ❈
❗️ 주의 ❗️
알고리즘을 처음 공부하시는 분들은 [알고리즘 설명 링크 모음](./link_for_study.md) 등을 활용하여 알고리즘 먼저 공부하시기 바랍니다.이 레포는 꾸준히 업데이트를 할 예정이며 문제집 어느정도 완성 후 풀이를 Python, Java, C++ 3가지 언어를 올릴 예정입니다.
**(C++로 먼저 올릴 예정입니다.)**## 최근 기업 코딩테스트 알고리즘 분류 정리
[바로가기](./CodingTest.md)
최근 기업 코딩테스트에 나왔던 알고리즘들을 정리해보았습니다.
대부분은 코딩테스트를 본 분들에게 들은거라 몇개가 누락되었거나 잘못된 부분이 있을 수도 있습니다.
## 각 알고리즘 문제집
**❗️❗️순번은 알고리즘 공부 순서와는 무관합니다.❗️❗️**
여기에서는 각 알고리즘 개념을 설명하는 것이 없습니다. [알고리즘 설명 링크 모음](./link_for_study.md)
문제 뽑은 기준 : 각 태그에 해당하는 문제(코딩 테스트에 나올 정도) 들을 최대한 많이 뽑고 반드시 풀고 넘어가면 좋은 문제를 체크해놨습니다.
### **❈ 중요❗️❗️ ❈**
이 레포는 **코딩테스트에 나올만한 유형**에 대한 문제를 모았습니다.
알고리즘 유형이 회사마다 다릅니다. 따라서 아래 알고리즘들을 꼭 다 안풀어도 됩니다.
지원하시는 회사에 나오는 **유형에 맞춰** 골라 푸시기 바랍니다.
(문제집에도 추천 문제도 골라 푸셔도 됩니다.)| 순번 | Tag | 태그 | 문제집 | 추천 문제 수 | 총 문제 수 | 상태 |
| :--: | :--------------------------: | :-----------------: | :------: | :---------: | :------: |:---------------:|
| 00 | Data Structure | 자료구조 | [바로가기](./algorithms/data_structure) | 16 | 25 | ![status][Doing] |
| 01 | Data Structure 2 | 자료구조 2 | [바로가기](./algorithms/data_structure2) | 11 | 21 | ![status][Doing] |
| 02 | Tree | 트리 | [바로가기](./algorithms/tree) | 15 | 44 | ![status][Doing] |
| 03 | Math | 수학 | [바로가기](./algorithms/math) | 18 | 29 | ![status][Doing] |
| 04 | Greedy | 탐욕법 | [바로가기](./algorithms/greedy) | 27 | 62 | ![status][Doing] |
| 05 | Dynamic Programming 1 | 동적계획법 1 | [바로가기](./algorithms/dynamic_programming_1) | 27 | 80 | ![status][Doing] |
| 06 | Dynamic Programming 2 | 동적계획법 2 | [바로가기](./algorithms/dynamic_programming_2) | 28 | 81 | ![status][Doing] |
| 07 | Two Pointer | 투 포인터 | [바로가기](./algorithms/two_pointer) | 13 | 36 | ![status][Doing] |
| 08 | Implementation | 구현 | [바로가기](./algorithms/implementation) | 30 | 51 | ![status][Doing] |
| 09 | Graph Traversal | 그래프 탐색 | [바로가기](./algorithms/graph_traversal) | 31 | 96 | ![status][Doing] |
| 10 | Brute Force | 완전탐색 | [바로가기](./algorithms/brute_force) | 33 | 94 | ![status][Doing] |
| 11 | Simulation | 시뮬레이션 | [바로가기](./algorithms/simulation) | 30 | 48 | ![status][Doing] |
| 12 | Binary Search | 이분탐색 | [바로가기](./algorithms/binary_search) | 20 | 66 | ![status][Doing] |
| 13 | Backtracking | 백트래킹 | [바로가기](./algorithms/backtracking) | 28 | 75 | ![status][Doing] |
| 14 | Divide and conquer | 분할정복 | [바로가기](./algorithms/divide_and_conquer) | 08 | 18 | ![status][Doing] |
| 15 | Prefix Sum | 누적 합 | [바로가기](./algorithms/prefix_sum) | 11 | 32 | ![status][Doing] |
| 16 | String | 문자열 | [바로가기](./algorithms/string) | 19 | 63 | ![status][Doing] |
| 17 | Shortest Path | 최단거리 | [바로가기](./algorithms/shortest_path) | 18 | 53 | ![status][Doing] |
| 18 | Topological Sorting | 위상정렬 | [바로가기](./algorithms/topological_sorting) | 05 | 14 | ![status][Doing] |
| 19 | Disjoint Set | 분리 집합 | [바로가기](./algorithms/disjoint_set) | 06 | 20 | ![status][Doing] |
| 20 | Minimum Spanning Tree(MST) | 최소 스패닝 트리 | [바로가기](./algorithms/minimum_spanning_tree) | 08 | 24 | ![status][Doing] |
| 21 | Trie | 트라이 | [바로가기](./algorithms/trie) | 05 | 09 | ![status][Doing] |
| 22 | Dynamic Programming On Trees | 트리디피 | [바로가기](./algorithms/dynamic_programming_on_trees) | 04 | 08 | ![status][Doing] |[현재 진행정도](./status.md)
## 모의 문제집***이 문제는 알고리즘 분류와 관련 없이 문제를 뽑아놓은 문제입니다.***
**이 부분은 [오늘의 문제](https://github.com/tony9402/baekjoon/blob/main/picked.md)로 대체합니다**
## Contributors
![]()
tony9402
![]()
VSFe
![]()
kim1109123
![]()
cola314
![]()
nnnlog
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
inclue
![]()
yeonjungin
![]()
cpprhtn
![]()
seastar105
![]()
Dev-RubinJo
![]()
Baekjoon
solved.ac
private
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
shjeong92
![]()
chj3748
![]()
seung-00
![]()
bn-tw2020
![]()
kjh03160
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
CoodingPenguin
![]()
bsm8734
![]()
gkgg123
![]()
simon-hoon
![]()
gusdn3477
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
rlawngus0910
![]()
tallua
![]()
kyjun719
![]()
chance0523
![]()
lms0806
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
zmrdltl
![]()
cieske
![]()
Rain3321
![]()
sio2whocodes
![]()
kang-hyuck
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
witch-factory
![]()
youngjun0627
![]()
suinj8
![]()
juheon-jeong
![]()
Won-JoonChoi
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
parkgwangwook
![]()
parkjonggyeong18
![]()
Ryu-JM
![]()
Cho-Hyun-Ji
![]()
HaegyeongKim01
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
HyeonJaePark
![]()
changuii
![]()
bangrr
![]()
ingyu1008
![]()
220v-K
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
pill27211
![]()
beberiche
![]()
GotPrgmer
![]()
336699go
![]()
grayroom
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
Baekjoon
solved.ac
![]()
parksboo
![]()
Baekjoon
solved.ac
## 업데이트 로그
뽑아야 하는 문제가 많고 이를 보기 좋게 표로 정리하는 과정은 너무 노가다성이 많기 때문에 편하게 작업할 수 있도록 업데이트 하고 있습니다.
자세히
- 2021.04.28
- [오늘의 문제](https://github.com/tony9402/baekjoon/blob/main/picked.md) 뽑히는 문제 난이도 변경
- 이전 난이도
- 1번 브론즈 5 ~ 실버 1
- 2번 골드 5 ~ 골드 3
- 3번 골드 5 ~ 골드 3
- 4번 골드 2 ~ 골드 1
- 변경된 난이도
- 1번 브론즈 5 ~ 실버 3
- 2번 실버 2 ~ 골드 4
- 3번 실버 2 ~ 골드 4
- 4번 골드 3 ~ 골드 1
- 2021.04.22 ~ 2021.04.23
- 코드 리팩토링 일부 완료
- 나머지는 시간 날때마다 하나씩 할 예정
- 문제 뽑는 방식 변경
- 이전 방식에서 [새로운](https://raw.githubusercontent.com/tony9402/baekjoon/main/dynamic_programming_2/list.md) 방식으로 변경
- 이전 방식 : [추천 문제 여부],[문제 이름],[문제 번호],[난이도],[솔루션 링크]
- 새로운 방식 : [추천 문제 여부],[문제 번호],[솔루션 링크]
- 매일 새벽에 자동으로 문제 뽑는 스크립트 제작 및 기능 추가
- [Solved.ac](https://solved.ac/) 기준 브론즈 5 ~ 골드 1 사이인 문제가 4문제 일정 조건 안에서 랜덤하게 뽑음
- [오늘 문제](https://github.com/tony9402/baekjoon/blob/main/picked.md) 형식으로 업데이트.
- [문제 뽑는 스크립트](https://github.com/tony9402/baekjoon/blob/main/scripts/pick_problem.cpp)
- [Contributors](https://github.com/tony9402/baekjoon#contributors) 정보 만드는 표 스크립트 제작
- Contributor 정보만 [여기](https://github.com/tony9402/baekjoon/blob/main/markdown/contributor.json)에 넣으면 자동으로 표를 생성- 2021.04.20
- [tree](./tree) 태그 추가
- 트리와 관련된 문제 뽑았습니다.
- [Contributors](https://github.com/tony9402/baekjoon#contributors) 디자인을 변경하였습니다.
- [문제집](https://www.acmicpc.net/workbook/by/tony9402) 전체를 업데이트 하였습니다.
- 각 문제집에 문제 번호를 볼 수 있도록 추가하였고 문제 번호로도 백준으로 이동할 수 있도록 업데이트 했습니다.- 2021.04.03
- [discussions](https://github.com/tony9402/baekjoon/discussions) 추가- 2021.04.02
- [README.md](https://github.com/tony9402/baekjoon/blob/main/README.md) 자동 생성 스크립트 제작
- 각 알고리즘 문제는 자동으로 추가되고 [status.md](https://github.com/tony9402/baekjoon/blob/main/status.md)에 자동으로 카운팅되지만 README.md에서는 안되는 현상 발견하여 해결
- 알고리즘 문제 제목 틀린거 자동으로 찾아 수정
- 일정 주기마다 알고리즘 난이도 갱신
- 문제 정보를 담는 json을 만듦- 2021.03.31
- [Github Actions](https://github.com/tony9402/baekjoon/actions) 도입
- [solved](http://solved.ac)의 난이도 변경을 일정 시간마다 체크하여 자동 업데이트 (백준 문제집은 X)
- 난이도 변경은 [로그](https://github.com/tony9402/baekjoon/blob/main/change_level.log)로 남겨놓음
- 솔루션 파일만 폴더 형식에만 맞추면 알아서 README 업데이트(솔루션 링크 연결 등)
- 2021.03.27
- README.md 업데이트를 더더욱 자동화를 위해 README.md 위에 설명 부분을 header.md로 분리- 2021.03.15
- 추천 문제 [solution](https://github.com/tony9402/baekjoon/tree/main/solution) (C++ 기준) 완성도 정리하는 스크립트 생성- 2021.01.15
- 문제 [이렇게](https://raw.githubusercontent.com/tony9402/baekjoon/main/math/list.md) 뽑으면 자동으로 markdown 테이블을 만들어주는 스크립트 제작## TODO
자세히
- [x] 코드 리팩토링
- [x] Contributors 추가 스크립트화
- [ ] 문제 뽑으면 Discussions 또는 Issue에서 바로 간단한 명령어로 추가 기능(스크립트화)
- [x] 문제 추가 방식 변경[Backtracking]: ./backtracking
[Binary Search]: ./binary_search
[Data Structure]: ./data_structure
[Data Structure2]: ./data_structure2
[Math]: ./math
[Greedy]: ./greedy
[DP1]: ./dynamic_programming_1
[DP2]: ./dynamic_programming_2
[MST]: ./minimum_spanning_tree
[Two Pointer]: ./two_pointer
[Topological Sorting]: ./topological_sorting
[Implementation]: ./implementation
[Graph Traversal]: ./graph_traversal
[Simulation]: ./simulation
[DFS]: ./dfs
[BFS]: ./bfs
[Brute Force]: ./brute_force
[Disjoint Set]: ./disjoint_set
[Trie]: ./trie
[TreeDP]: ./dynamic_programming_on_trees
[Shortest Path]: ./shortest_path
[Prefix Sum]: ./prefix_sum
[Divide and conquer]: ./divide_and_conquer
[String]: ./string
[Tree]: ./tree
[TODO]: https://img.shields.io/badge/-TODO-DFFD26
[DOING]: https://img.shields.io/badge/-DOING-31AE0F
[DONE]: https://img.shields.io/badge/-DONE-0885CC