본 레포지토리는 알고리즘 스터디를 위한 공용 저장소입니다.
스터디는 주차별 주제 선정 → 개인 풀이 → PR → 코드 리뷰 흐름으로 진행됩니다.
- 매 주차마다 하나의 알고리즘 주제를 선정합니다.
- 주차별 문제 디렉토리가 원본 레포지토리에 추가됩니다.
- 각자는 문제를 풀고 PR을 생성합니다.
- 스터디 참여자끼리 PR에서 코드 리뷰를 진행합니다.
구현 완성 여부보다 접근 방식과 판단 과정 공유가 목적입니다.
alg-study/
├─ .github/
│ └─ .../
│
├─ w01-dfs_bfs/
│ ├─ dfs_bfs.md
│ ├─ d01/
│ │ ├─ 1260/
│ │ │ ├─ 1260.md
│ │ │ ├─ 1260_홍길동.cpp
│ │ │ ├─ 1260_....py
│ │ │ └─ 1260_정민호.py
│ │ └─ 2606/
│ │ ├─ 2606.md
│ │ ├─ 2606_1.png
│ │ ├─ 2606_홍길동.cpp
│ │ ├─ 2606....py
│ │ └─ 2606_정민호.py
│ └─ d02/
│ └─ .../
│
├─ w02-.../
│
└─ README.md
- 주차/일차/문제 단위로 디렉토리를 관리합니다.
알고리즘.md에는 해당 알고리즘에 대한 설명이 작성돼 있습니다.문제번호.md에는 문제 링크, 문제 제약사항, 문제 설명, 입/출력, 예제 입/출력이 작성돼 있습니다.문제번호_본인이름.확장자명에는 본인의 문제풀이 코드를 작성합니다.
- 본 레포지토리를 본인 GitHub 계정으로 fork합니다.
git clone https://github.com/본인이름/alg-study.git
cd alg-study
git remote add upstream https://github.com/MyKnow/alg-study.gitorigin: 본인 forkupstream: 스터디 원본 레포지토리
‼️ 스터디 시작 전, 항상 최신 상태로 맞춥니다.
git fetch upstream
git checkout main
git merge upstream/main
‼️ main 브랜치에서 직접 작업 금지
git checkout -b 1-1/1260- 주차-일차/문제 별로 브랜치를 생성합니다.
- 해당 브랜치에서 문제 풀이 후 commit 합니다.
- 본인 fork → upstream main
- 주차-일차/문제번호 이름
- ex: 1-1/1260 정민호
- 문제 링크
- 접근 방식 설명
- 막힌 지점 또는 고민한 부분
- 리뷰어에게 질문하고 싶은 내용
- 스터디 참여자는 최소 1개 이상의 PR을 리뷰합니다.
- 리뷰는 정답 지적이 아니라 이유와 판단 중심 질문으로 합니다.
- 이 상태를 이렇게 정의한 이유는?
- 이 경우에도 정상 동작하나요?
- 정답 코드 제시
- 단순 칭찬만 남기는 리뷰
- 이 스터디는 실력 경쟁이 아니라,
- 알고리즘 사고 흐름 공유
- 코드 리뷰 경험
- 지속적인 학습 리듬 유지를 목표로 합니다.
‼️ 못 풀어도 괜찮습니다. 하지만 생각한 과정은 반드시 공유합니다.
- 본 스터디 레포지토리에서는 스터디 진행을 돕기 위한 자동화 스크립트를 제공합니다.
- 각 스크립트는
script/study/디렉토리에 위치해 있습니다. - 스크립트 실행은 VSCode 기준 터미널 또는 Code Runner 확장 프로그램(
formulahendry.code-runner)을 통해 가능합니다. - Git 사용이 익숙하지 않은 사용자는 스크립트 사용을 권장합니다.
- 각 스크립트 종류는 다음과 같습니다:
script/study/01_initialize_repository.sh: 레포지토리 초기화 스크립트script/study/02_before_study.sh: 스터디 전 최산상태 동기화 스크립트script/study/03_start_solve.sh: 문제 풀이용 브랜치 생성 스크립트script/study/04_submit_code.sh: 문제 풀이 커밋 스크립트
- 각 스크립트는 실행 전에
chmod +x script/study/스크립트명.sh명령어로 실행 권한을 부여해야 할 수도 있습니다.