코딩 테스트 문제를 문제·플랫폼 단위로 정리하고 Python과 Java 풀이를 독립적으로 검증하는 저장소입니다.
Python 테스트는 가상환경에 의존합니다.
python3 -m venv .venv
.venv/bin/pip install -r requirements.txtJava 테스트는 Gradle Wrapper와 JDK 17 이상을 사용하며, 풀이 코드는 Java 17 호환으로 컴파일됩니다. IDE에서도 Gradle JVM을 JDK 17 이상으로 지정한 뒤, 저장소 루트를 Gradle 프로젝트로 동기화하세요.
make test
make test-python
make test-java
./gradlew testmake test는 Python과 Java 테스트를 모두 실행하고, 한쪽이 실패해도 다른 쪽을 실행한 뒤 실패 상태를 반환합니다. 가상환경 경로가 다르면 make test PYTHON=python3처럼 PYTHON 값을 바꿀 수 있습니다.
문제는 problems/<platform>/<번호-이름>/ 아래에 둡니다.
problems/
leetcode/
0001-two-sum/
python/test_hashtable.py
java/src/test/java/TwoSumTest.java
- Python 파일은
Solution과 pytest 테스트를 한 파일에 함께 둡니다. - Java 풀이가 하나면
java/src/test/java/아래에, 여러 개면java/<전략>/src/test/java/아래에*Test.java한 파일을 둡니다. 파일에는 package-privateSolution과 JUnit 5 테스트를 함께 둡니다. - Java 파일에는
package선언을 쓰지 않습니다. Gradle은 문제별java/폴더와 전략별java/<전략>/폴더를 독립 프로젝트로 컴파일하므로 여러 문제의Solution클래스는 충돌하지 않습니다. - Java 풀이가 없는 문제는
java/폴더를 만들 필요가 없습니다.src/test/java를 추가하면 Gradle과 IDE가 해당 폴더를 테스트 모듈로 인식합니다. 새 Java 문제를 추가한 뒤에는 IDE에서 Gradle 동기화를 실행하세요. - Zed에서 테스트 클래스 옆 실행 버튼을 사용하려면 각 Java 모듈 루트의 빈
build.gradle.kts파일도 추가합니다. 공통 Java·JUnit 설정은 루트 Gradle 설정이 제공하므로, 이 파일에는 설정을 넣지 않습니다.