이 저장소는 알고리즘 문제 풀이를 공유하고, 다양한 문제 해결 방법을 기록하기 위한 공간입니다. 아래의 가이드라인을 따라 정리해 주세요.
-
체감 난이도별 폴더
Hard/
,Medium/
,Easy/
폴더를 생성하여 난이도에 따라 분류합니다.
-
풀이 코드 저장
- 각 폴더 안에 자신의 코드 파일을 저장합니다.
- 파일명은 문제 번호 또는 문제 이름과 출처로 설정합니다.
- 순서는 출처_문제번호(문제이름)순으로 작성해주세요.
- 파일 확장자는 사용한 프로그래밍 언어에 맞게 작성합니다. (
.js
,.py
) - 동일한 문제를 다른 사람이 풀 수 있기 때문에 자신임을 밝히는 정보(이름orID)도 파일에 포함시켜주세요!!
✅ 예시:
📂 Hard ├── baekjoon_1234.py ├── leetcode_tricky_graph_problem.py 📂 Medium ├── programmers_5678_solution.js 📂 Easy ├── two_sum_chuck(이름 혹은 ID).py ├── two_sum_chuck2(이름 혹은 ID).py
-
풀이 설명 문서 작성
- 코드와 동일한 폴더에 문제 풀이 과정을 설명하는 Markdown 파일을 작성합니다.
- 파일명은 2.풀이 코드 이름 작성법과 동일합니다.
- 풀이 과정, 핵심 개념, 시간 복잡도 등을 설명합니다.
✅ 예시:
📂 Hard ├── baekjoon_1234.py ├── baekjoon_1234.md ├── two_sum_chuck(이름 혹은 ID).js ├── two_sum_chuck.md
각 설명 파일은 아래의 형식을 따라 작성하면 가독성을 높일 수 있습니다.
# 📌 문제 설명
LeetCode 1234번: 특정 그래프 문제
이 문제는 DFS와 백트래킹을 활용하여 해결할 수 있습니다.
## 💡 접근 방법
- 먼저 그래프의 특성을 분석합니다.
- DFS를 사용하여 가능한 모든 경로를 탐색합니다.
- 중복 방문을 방지하기 위해 visited 배열을 활용합니다.
## 💻 코드
```python
# 1234_solution.py
def solve():
print("Hello, Algorithm!")
```
#### 4️⃣ 시간 복잡도 분석(예시일뿐 자유롭게 작성하시면 됩니다.)
```md
## ⏳ 시간 복잡도
- DFS 탐색이므로 최악의 경우 O(2^N) 시간이 소요됩니다.
## 🔗 참고 자료
- [관련 개념 링크](https://example.com)
이 가이드를 참고하여 체계적으로 알고리즘 문제 풀이를 정리해 주세요! 🚀