코딩테스트 대비 문제집 with Baekjoon
❈ 코딩테스트을 준비하시는 분들을 위해 문제집을 만들어봤습니다. ❈
❗️ 주의 ❗️
알고리즘을 처음 공부하시는 분들은 알고리즘 설명 링크 모음 등을 활용하여 알고리즘 먼저 공부하시기 바랍니다.
이 레포는 꾸준히 업데이트를 할 예정이며 문제집 어느정도 완성 후 풀이를 Python, Java, C++ 3가지 언어를 올릴 예정입니다.
(C++로 먼저 올릴 예정입니다.)
최근 기업 코딩테스트 알고리즘 분류 정리
최근 기업 코딩테스트에 나왔던 알고리즘들을 정리해보았습니다.
대부분은 코딩테스트를 본 분들에게 들은거라 몇개가 누락되었거나 잘못된 부분이 있을 수도 있습니다.
각 알고리즘 문제집
여기에서는 각 알고리즘 개념을 설명하는 것이 없습니다. 알고리즘 설명 링크 모음
문제 뽑은 기준 : 각 태그에 해당하는 문제(코딩 테스트에 나올 정도) 들을 최대한 많이 뽑고 반드시 풀고 넘어가면 좋은 문제를 체크해놨습니다.
❈ 중요❗️❗️ ❈
이 레포는 코딩테스트에 나올만한 유형에 대한 문제를 모았습니다.
알고리즘 유형이 회사마다 다릅니다. 따라서 아래 알고리즘들을 꼭 다 안풀어도 됩니다.
지원하시는 회사에 나오는 유형에 맞춰 골라 푸시기 바랍니다.
(문제집에도 추천 문제도 골라 푸셔도 됩니다.)
순번 | Tag | 태그 | 문제집 | 추천 문제 수 | 총 문제 수 | 상태 |
---|---|---|---|---|---|---|
00 | Data Structure | 자료구조 | 바로가기 | 16 | 25 | |
01 | Data Structure 2 | 자료구조 2 | 바로가기 | 11 | 21 | |
02 | Tree | 트리 | 바로가기 | 15 | 44 | |
03 | Math | 수학 | 바로가기 | 18 | 29 | |
04 | Greedy | 탐욕법 | 바로가기 | 27 | 62 | |
05 | Dynamic Programming 1 | 동적계획법 1 | 바로가기 | 27 | 80 | |
06 | Dynamic Programming 2 | 동적계획법 2 | 바로가기 | 28 | 81 | |
07 | Two Pointer | 투 포인터 | 바로가기 | 13 | 36 | |
08 | Implementation | 구현 | 바로가기 | 30 | 51 | |
09 | Graph Traversal | 그래프 탐색 | 바로가기 | 31 | 96 | |
10 | Brute Force | 완전탐색 | 바로가기 | 33 | 94 | |
11 | Simulation | 시뮬레이션 | 바로가기 | 30 | 48 | |
12 | Binary Search | 이분탐색 | 바로가기 | 20 | 66 | |
13 | Backtracking | 백트래킹 | 바로가기 | 28 | 75 | |
14 | Divide and conquer | 분할정복 | 바로가기 | 08 | 18 | |
15 | Prefix Sum | 누적 합 | 바로가기 | 11 | 32 | |
16 | String | 문자열 | 바로가기 | 19 | 63 | |
17 | Shortest Path | 최단거리 | 바로가기 | 18 | 53 | |
18 | Topological Sorting | 위상정렬 | 바로가기 | 05 | 14 | |
19 | Disjoint Set | 분리 집합 | 바로가기 | 06 | 20 | |
20 | Minimum Spanning Tree(MST) | 최소 스패닝 트리 | 바로가기 | 08 | 24 | |
21 | Trie | 트라이 | 바로가기 | 05 | 09 | |
22 | Dynamic Programming On Trees | 트리디피 | 바로가기 | 04 | 08 |
모의 문제집
이 문제는 알고리즘 분류와 관련 없이 문제를 뽑아놓은 문제입니다.
이 부분은 오늘의 문제로 대체합니다
Contributors
업데이트 로그
뽑아야 하는 문제가 많고 이를 보기 좋게 표로 정리하는 과정은 너무 노가다성이 많기 때문에 편하게 작업할 수 있도록 업데이트 하고 있습니다.
자세히
-
2021.04.28
- 오늘의 문제 뽑히는 문제 난이도 변경
- 이전 난이도
- 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
- 코드 리팩토링 일부 완료
- 나머지는 시간 날때마다 하나씩 할 예정
- 문제 뽑는 방식 변경
- 이전 방식에서 새로운 방식으로 변경
- 이전 방식 : [추천 문제 여부],[문제 이름],[문제 번호],[난이도],[솔루션 링크]
- 새로운 방식 : [추천 문제 여부],[문제 번호],[솔루션 링크]
- 매일 새벽에 자동으로 문제 뽑는 스크립트 제작 및 기능 추가
- Solved.ac 기준 브론즈 5 ~ 골드 1 사이인 문제가 4문제 일정 조건 안에서 랜덤하게 뽑음
- 오늘 문제 형식으로 업데이트.
- 문제 뽑는 스크립트
- Contributors 정보 만드는 표 스크립트 제작
- Contributor 정보만 여기에 넣으면 자동으로 표를 생성
- 코드 리팩토링 일부 완료
-
2021.04.20
- tree 태그 추가
- 트리와 관련된 문제 뽑았습니다.
- Contributors 디자인을 변경하였습니다.
- 문제집 전체를 업데이트 하였습니다.
- 각 문제집에 문제 번호를 볼 수 있도록 추가하였고 문제 번호로도 백준으로 이동할 수 있도록 업데이트 했습니다.
- tree 태그 추가
-
2021.04.03
- discussions 추가
-
2021.04.02
-
2021.03.31
- Github Actions 도입
- solved의 난이도 변경을 일정 시간마다 체크하여 자동 업데이트 (백준 문제집은 X)
- 난이도 변경은 로그로 남겨놓음
- 솔루션 파일만 폴더 형식에만 맞추면 알아서 README 업데이트(솔루션 링크 연결 등)
-
2021.03.27
- README.md 업데이트를 더더욱 자동화를 위해 README.md 위에 설명 부분을 header.md로 분리
-
2021.03.15
- 추천 문제 solution (C++ 기준) 완성도 정리하는 스크립트 생성
-
2021.01.15
- 문제 이렇게 뽑으면 자동으로 markdown 테이블을 만들어주는 스크립트 제작
TODO
자세히
- 코드 리팩토링
- Contributors 추가 스크립트화
- 문제 뽑으면 Discussions 또는 Issue에서 바로 간단한 명령어로 추가 기능(스크립트화)
- 문제 추가 방식 변경