알고리즘 문제 풀이 및 학습을 위한 저장소입니다.
.
├── create-problem.sh # 새 문제 생성 자동화 스크립트
├── problems/ # 백준 문제 풀이
│ ├── dp/ # 다이나믹 프로그래밍
│ ├── graph/ # 그래프
│ ├── greedy/ # 그리디
│ ├── implementation/ # 구현
│ ├── math/ # 수학
│ ├── string/ # 문자열
│ ├── data-structure/ # 자료구조
│ ├── binary-search/ # 이분탐색
│ ├── bfs-dfs/ # BFS/DFS
│ ├── backtracking/ # 백트래킹
│ ├── sorting/ # 정렬
│ ├── simulation/ # 시뮬레이션
│ └── etc/ # 기타
└── algorithm/ # 알고리즘 구현
스크립트를 실행하고 대화형으로 정보를 입력하세요:
./create-problem.sh입력 단계:
- 카테고리 선택 - 번호로 선택 (1-13)
- 백준 문제 번호 - 숫자 입력
- 문제 제목 - 문제 이름 입력
- 세부 알고리즘 - 선택 사항 (예: 위상정렬, 다익스트라, 메모이제이션)
- 난이도 - (예: Bronze 5, Silver 3, Gold 1, Platinum 5)
- 템플릿 선택 - 간단한 템플릿(Scanner) 또는 빠른 템플릿(BufferedReader)
- 최종 확인 - y/n으로 생성 확인
자동으로 생성되는 것:
- 문제 디렉토리:
problems/카테고리/BOJ_번호/ - Java 템플릿:
Main.java(선택한 템플릿으로 생성)- 템플릿 1: Scanner + System.out.println (프로그래머스, 일반 코딩테스트용)
- 템플릿 2: BufferedReader/Writer (백준, 대용량 입출력용)
- 문제 README: 문제 정보 템플릿
- 카테고리 README에 자동으로 문제 정보 추가
dp- 다이나믹 프로그래밍graph- 그래프greedy- 그리디implementation- 구현math- 수학string- 문자열data-structure- 자료구조binary-search- 이분탐색bfs-dfs- BFS/DFSbacktracking- 백트래킹sorting- 정렬simulation- 시뮬레이션etc- 기타
cd problems/카테고리/BOJ_번호
javac Main.java
java Main- Dynamic Programming: 중복되는 부분 문제를 해결하여 효율적으로 문제를 푸는 기법
- Graph: 정점과 간선으로 이루어진 자료구조와 관련 알고리즘
- Greedy: 매 단계에서 최적의 선택을 하는 알고리즘
- Binary Search: 정렬된 데이터에서 O(log n) 시간에 탐색
- BFS/DFS: 그래프 탐색의 기본 알고리즘
총 문제 수: 4개
- ✅ 완료: 1개
- ⏳ 푸는 중: 3개
- ❌ 실패: 0개
- Silver: 2개
- Gold: 2개
Gold 3 (1개 문제 기준)