Skip to content

kbpark9898/Algorithm_Solving

Repository files navigation

Algorithm problem solving with python


0. 수정내역

2021.05.12 : (3. 언어에 관한 이야기) 추가

2021.05.13 : 분류체계 수정(String 유형과 기출문제 분류 추가)

2021.05.17 : 개요 및 분류체계 설명 수정 (Queue and stack에 deque 추가)

2021.05.19 : How_To_Study.md 수정 (분류체계 수정)

2021.09.23 : 분류체계 수정(Prefix sum 유형 추가 및 개요 수정), How_To_Study.md 수정 (분류체계 및 말.말.말 업데이트)


1. 개요

이 repo는 python을 활용한 주제별 algorithm PS 진행 과정을 담고 있습니다. 이 repo에서 다루는 주제는 다음과 같습니다.

  1. Queue and stack (deque 사용 유형 포함)
  2. Bruteforce (완전탐색. 백트래킹이 포함됩니다.)
  3. Sorting
  4. Binary search
  5. Heap and hash
  6. Greedy algorithm (탐욕 알고리즘)
  7. Graph traversal (DFS, BFS를 포함한 그래프 탐색)
  8. Implementation (구현 타입의 문제. 분할정복, 재귀, 시뮬레이션 등의 문제가 포함됩니다.)
  9. Graph algorithm (DFS, BFS를 접목시킨 특수한 그래프 탐색 알고리즘)
  10. Two pointer
  11. Dynamic programming (memoization. 해당 형식으로 푼 분할정복 문제가 포함됩니다.)
  12. Tree
  13. String (원래 문자열을 다루는 방식이 어떤 알고리즘이냐에 따라 분류했지만, 이제 문자열 유형으로 따로 분류합니다.)
  14. Prefix sum (구간합 문제. 다른 방법으로 풀 수 있는 문제여도 필자가 구간합으로 풀었을 시 이 유형으로 분류합니다.)
  15. Disjoint set

특정 기출문제는 해당 분류를 따로 생성했습니다. (ex. 2020 카카오 인턴십 코딩테스트 기출문제)

하나의 문제를 풀기 위해 여러개의 분류에 해당하는 지식이 필요한 경우가 있습니다. 이런 경우는 필자의 판단하에 가장 핵심이 되는 유형으로 분류합니다.

resolve 경로는 한번 풀었던 문제를 다시 풀어본 경우 그 풀이를 저장하는 경로입니다.


2. 연관자료

해당 문제 분류는 VSFe 님의 algorithm study repo의 유형 분류를 따릅니다. (https://github.com/VSFe/Algorithm_Study)

각 주제에 대해 푸는 문제는 BOJ와 프로그래머스에 수록되어있는 문제들입니다.

BOJ : https://www.acmicpc.net/

프로그래머스 : https://programmers.co.kr/

Thanks for VSFe!


3. 언어에 관한 이야기

이 repo는 기본적으로 python3를 이용해 문제를 푸는것을 원칙으로 합니다.

하지만 python3를 이용해서 시간초과를 해결하지 못하는 경우 C++로 풀어보는 때가 가끔 있습니다.

따라서 해당 repo의 풀이가 100% python3으로 이루어져 있지는 않습니다.

About

BOJ, programmers problem solving with python3

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages