Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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: 1 day ago
JSON representation

코딩테스트 대비 문제집(Baekjoon Online Judge)

Awesome Lists containing this project

README

        

# 코딩테스트 대비 문제집 with Baekjoon

[![Auto Update README](https://github.com/tony9402/baekjoon/actions/workflows/auto_update.yml/badge.svg)](https://github.com/tony9402/baekjoon/actions/workflows/auto_update.yml)

[![하루 방문자 수](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Ftony9402%2Fbaekjoon)](https://github.com/tony9402/baekjoon)
[![Discussions](https://img.shields.io/badge/discussions-바로가기-brightgreen)](https://github.com/tony9402/baekjoon/discussions)
[![오늘의 문제](https://img.shields.io/badge/오늘의%20문제%20%28BETA%29-바로가기-112051)](https://github.com/tony9402/baekjoon/blob/main/picked.md)
[![Contribute](https://img.shields.io/badge/집단%20지성%20프로젝트%20-바로가기-18D6A5)](https://github.com/tony9402/algorithm-solutions)
[![Email](https://img.shields.io/badge/문의하기[email protected])](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







Baekjoon


solved.ac





Baekjoon


solved.ac





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