Skip to content

minor7295/algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

알고리즘 문제 풀이 아카이브

이 저장소는 알고리즘 문제 풀이의 판단 근거와 사고 흐름을 체계적으로 기록합니다.
단순히 코드만 저장하는 것이 아니라, 문제 분석부터 알고리즘 선택, 구현까지의 전체 사고 과정을 문서화합니다.


📁 저장소 구조

algorithm/
├── {문제집 사이트}/
│   ├── {알고리즘 카테고리}/
│   │   ├── {알고리즘명}.md         # 공통 알고리즘 이론 정리 (예: backtracking.md, topological-sort.md)
│   │   ├── {문제 ID}/
│   │   │   ├── 1.analysis.md       # 문제 요약 및 핵심 포인트 정리
│   │   │   ├── 2.algorithm.md      # 알고리즘 적용 및 문제별 특이사항
│   │   │   ├── 3.reasoning.md      # 알고리즘 적용 사고 과정
│   │   │   └── Main.java           # 최종 해답 코드
│   │   └── ...
│   └── ...
└── README.md

구조 설명

  • 문제집 사이트: 문제 출처 구분 (예: boj, leetcode, programmers 등)
  • 알고리즘 카테고리: 사용된 알고리즘 유형별 분류 (예: topology-sort, brute-force, dynamic-programming 등)
    • 각 카테고리 폴더에는 해당 알고리즘의 공통 이론 설명 파일이 포함됩니다
    • 예: backtracking.md, topological-sort.md
  • 문제 ID: 해당 사이트의 문제 번호 또는 식별자

각 문제는 4개의 파일로 구성되어 문제 해결의 전 과정을 추적할 수 있습니다.


📄 파일 구성

1️⃣ 1.analysis.md

문제 분석 및 요약

  • 문제의 핵심 요구사항 요약
  • 입력/출력 조건 정리
  • 문제를 그래프, 수학, DP 등으로 어떻게 해석할 수 있는지 정리
  • 문제 유형 분류 및 접근 방향 제시

2️⃣ 2.algorithm.md

알고리즘 적용 및 문제별 특이사항

  • 상위 폴더의 공통 알고리즘 설명 문서로의 링크
  • 이 문제에서의 알고리즘 적용 방법
  • 문제별 특이사항 및 다른 문제와의 차이점
  • 이 문제에 특화된 구현 패턴 및 주의사항

참고: 알고리즘의 전체 이론과 개념은 상위 폴더의 공통 알고리즘 설명 파일(예: backtracking.md, topological-sort.md)에서 확인할 수 있습니다.


3️⃣ 3.reasoning.md

문제 적용 사고 과정

  • 문제를 해당 알고리즘으로 풀기로 결정한 이유
  • 문제를 알고리즘에 맞게 모델링하는 과정 (정점, 간선, 상태 정의 등)
  • 단계별 해결 전략 및 구현 계획
  • 주의해야 할 포인트, 실수 가능 지점
  • 다른 접근 방법과의 비교

4️⃣ Main.java

최종 해답 코드

  • 제출용 해답 코드
  • 주석을 통한 핵심 로직 설명
  • 시간/공간 복잡도 명시

🎯 프로젝트 목적

  1. 학습 효과 극대화: 문제를 풀고 끝내는 것이 아니라, 왜 그 알고리즘을 선택했는지, 어떻게 적용했는지를 기록하여 깊이 있는 학습
  2. 사고 과정 문서화: 나중에 비슷한 문제를 만났을 때 빠르게 참고할 수 있는 사고 흐름 기록
  3. 체계적인 관리: 알고리즘 유형별, 문제집별로 체계적으로 분류하여 관리
  4. 재현 가능한 학습: 단계별 문서를 통해 문제 해결 과정을 재현하고 복습
  5. 재사용성과 확장성: 공통 알고리즘 설명을 상위 폴더에 두어 같은 알고리즘을 사용하는 여러 문제에서 재사용 가능

📚 알고리즘 설명 구조

각 알고리즘 카테고리 폴더에는 해당 알고리즘의 공통 이론 설명 파일이 포함됩니다.

  • 위치: {알고리즘 카테고리}/{알고리즘명}.md
  • 내용: 알고리즘의 개념, 동작 원리, 시간/공간 복잡도, 구현 패턴 등
  • 용도: 같은 알고리즘을 사용하는 여러 문제에서 공통으로 참조

예시:

  • boj/brute-force/backtracking.md: 백트래킹 알고리즘 전체 이론
  • boj/topology-sort/topological-sort.md: 위상 정렬 알고리즘 전체 이론

각 문제의 2.algorithm.md는 이 공통 설명을 링크하고, 해당 문제에 특화된 적용 방법과 특이사항만 추가로 설명합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages