알고리즘 문제 풀이 저장소입니다. 백준 온라인 저지와 SW Expert Academy의 문제들을 Java로 해결한 코드를 모아두었습니다.
- 총 문제 수: 81개
- 백준 (BOJ): 56개
- SW Expert Academy: 22개
- 개인 프로젝트: 3개
- 주 언어: Java
src/
├── BOJ/ # 백준 문제 풀이
├── SW/ # SW Expert Academy 문제 풀이
└── PERSONAL/ # 개인 프로젝트
| 문제 번호 | 파일명 | 링크 | 주요 알고리즘 |
|---|---|---|---|
| 1009 | BOJ1009.java | 분산처리 | 수학 |
| 1012 | BOJ1012.java | 유기농 배추 | DFS/BFS |
| 1026 | BOJ1026.java | 보물 | 그리디, 정렬 |
| 1032 | BOJ1032.java | 명령 프롬프트 | 문자열 |
| 1043 | BOJ1043.java | 거짓말 | 그래프, 유니온 파인드 |
| 1076 | BOJ1076.java | 저항 | 구현 |
| 1085 | BOJ1085.java | 직사각형에서 탈출 | 기하학 |
| 1260 | BOJ1260.java | DFS와 BFS | DFS, BFS |
| 1271 | BOJ1271.java | 엄청난 부자2 | 수학, BigInteger |
| 1350 | BOJ1350.java | 진짜 공간 | 수학 |
| 1504 | BOJ1504.java | 특정한 최단 경로 | 다익스트라 |
| 1629 | BOJ1629.java | 곱셈 | 분할 정복, 거듭제곱 |
| 1697 | BOJ1697.java | 숨바꼭질 | BFS |
| 1874 | BOJ1874.java | 스택 수열 | 스택 |
| 1927 | BOJ1927.java | 최소 힙 | 우선순위 큐 |
| 1929 | BOJ1929.java | 소수 구하기 | 에라토스테네스의 체 |
| 1932 | BOJ1932.java | 정수 삼각형 | DP |
| 2108 | BOJ2108.java | 통계학 | 구현, 정렬 |
| 2178 | BOJ2178.java | 미로 탐색 | BFS |
| 2420 | BOJ2420.java | 사파리월드 | 수학 |
| 2447 | BOJ2447.java | 별 찍기 - 10 | 분할 정복, 재귀 |
| 2630 | BOJ2630.java | 색종이 만들기 | 분할 정복, 재귀 |
| 2667 | BOJ2667.java | 단지번호붙이기 | DFS/BFS |
| 2742 | BOJ2742.java | 기찍 N | 구현 |
| 2775 | BOJ2775.java | 부녀회장이 될테야 | DP |
| 2822 | BOJ2822.java | 점수 계산 | 정렬 |
| 3009 | BOJ3009.java | 네 번째 점 | 기하학 |
| 3024 | BOJ3024.java | 마라톤 틱택토 | 구현 |
| 3036 | BOJ3036.java | 링 | 수학, 유클리드 호제법 |
| 3197 | BOJ3197.java | 백조의 호수 | BFS, 시뮬레이션 |
| 4101 | BOJ4101.java | 크냐? | 구현 |
| 5338 | BOJ5338.java | 마이크로소프트 로고 | 구현 |
| 7568 | BOJ7568.java | 덩치 | 브루트포스 |
| 9375 | BOJ9375.java | 패션왕 신해빈 | 수학, 조합 |
| 9625 | BOJ9625.java | BABBA | DP |
| 10870 | BOJ10870.java | 피보나치 수 5 | 재귀 |
| 11279 | BOJ11279.java | 최대 힙 | 우선순위 큐 |
| 11942 | BOJ11942.java | 고려대는 사랑입니다 | 구현 |
| 13171 | BOJ13171.java | A | 분할 정복, 거듭제곱 |
| 15652 | BOJ15652.java | N과 M (4) | 백트래킹 |
| 15654 | BOJ15654.java | N과 M (5) | 백트래킹 |
| 15904 | BOJ15904.java | UCPC는 무엇의 약자일까? | 문자열 |
| 16435 | BOJ16435.java | 스네이크버드 | 그리디, 정렬 |
| 16953 | BOJ16953.java | A → B | BFS, 그리디 |
| 17478 | BOJ17478.java | 재귀함수가 뭔가요? | 재귀 |
| 17626 | BOJ17626.java | Four Squares | DP, 브루트포스 |
| 18111 | BOJ18111.java | 마인크래프트 | 구현, 브루트포스 |
| 21736 | BOJ21736.java | 헌내기는 친구가 필요해 | BFS/DFS |
| 27323 | BOJ27323.java | 직사각형 | 수학 |
| 28136 | BOJ28136.java | 원, 탁! | 구현 |
| 28702 | BOJ28702.java | FizzBuzz | 구현 |
| 30802 | BOJ30802.java | 웰컴 키트 | 수학 |
| 30804 | BOJ30804.java | 과일 탕후루 | 투 포인터, 슬라이딩 윈도우 |
| 31403 | BOJ31403.java | A+B-C | 구현 |
| 31628 | BOJ31628.java | 가짜 빙고 | 구현 |
| 31868 | BOJ31868.java | 수박 게임 | 수학 |
| - | stoku.java | 스도쿠 | 백트래킹 |
| 문제 번호 | 파일명 | 설명 |
|---|---|---|
| 1204 | SW1204.java | 최빈수 구하기 |
| 1206 | SW1206.java | View |
| 1208 | SW1208.java | Flatten |
| 1209 | SW1209.java | Sum |
| 1213 | SW1213.java | String |
| 1215 | SW1215.java | 회문1 |
| 1217 | SW1217.java | 거듭 제곱 |
| 1284 | SW1284.java | 수도 요금 경쟁 |
| 1285 | SW1285.java | 아름이의 돌 던지기 |
| 1288 | SW1288.java | 새로운 불면증 치료법 |
| 1859 | SW1859.java | 백만 장자 프로젝트 |
| 1926 | SW1926.java | 간단한 369 게임 |
| 1945 | SW1945.java | 간단한 소인수분해 |
| 1946 | SW1946.java | 간단한 압축 풀기 |
| 1948 | SW1948.java | 날짜 계산기 |
| 1959 | SW1959.java | 두 개의 숫자열 |
| 2001 | SW2001.java | 파리 퇴치 |
| 2007 | SW2007.java | 패턴 마디의 길이 |
| 2070 | SW2070.java | 큰 놈, 작은 놈, 같은 놈 |
| 2071 | SW2071.java | 평균값 구하기 |
| 2072 | SW2072.java | 홀수만 더하기 |
| 21425 | SW21425.java | - |
- Language: Java (JDK 11+)
- IDE: IntelliJ IDEA
- Build Tool: None (직접 컴파일)
# 컴파일
javac src/BOJ/BOJ1260.java
# 실행
java -cp src BOJ.BOJ1260# BOJ 디렉토리 전체 컴파일
javac src/BOJ/*.java
# SW 디렉토리 전체 컴파일
javac src/SW/*.java- BFS: 1260, 1697, 2178, 16953, 21736, 3197
- DFS: 1012, 1260, 2667
- 다익스트라: 1504
- 1932, 2775, 9625, 17626
- 1629, 2447, 2630, 13171
- 스택: 1874
- 큐: 1260, 1697, 2178
- 우선순위 큐: 1927, 11279
- 소수: 1929 (에라토스테네스의 체)
- 거듭제곱: 1629, 13171
- 조합론: 9375
- 유클리드 호제법: 3036
- 15652, 15654, stoku.java (스도쿠)
- 1026, 16435
- 투 포인터: 30804
- 브루트포스: 7568, 17626, 18111
- 재귀: 10870, 17478
- Bronze ~ Silver 문제 집중 풀이
- 기본 자료구조 및 알고리즘 학습
- Gold 난이도 문제 확대
- 알고리즘별 카테고리 정리
- 코드 리팩토링 (Scanner → BufferedReader)
- 일부 파일은 BufferedReader 대신 Scanner를 사용하여 성능 개선 여지가 있습니다.
- 각 문제는 독립적으로 실행 가능한 단일 파일로 작성되었습니다.
- 코드는 제출 통과를 목적으로 작성되었으며, 추가 최적화가 가능할 수 있습니다.
개인 학습 및 참고용 코드입니다.
Last Updated: 2025-01-11