- 백준 온라인 저지를 Java로 학습하는 분들을 위한 Helper 형태의 라이브러리/Gradle Plugin 입니다.
- 프로젝트 구조 자동 설정, 테스트 케이스 및 테스트 코드 자동 등록등의 기능을 지원합니다.
- 라이브러리 (boj-commons), Gradle Plugin (boj-boot-plugin) 이 모두 존재하며, 함께 사용하는 것을 권장합니다.
- 사용하는 프로젝트의 JDK 버전은 17 이상이어야 합니다.
- (
build.gradle.kts
기준) 다음과 같은 내용을 추가해 주세요.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("io.github.vsfe:boj-boot-plugin:1.0.3")
}
}
apply(plugin = "io.github.vsfe.boj-boot-plugin")
dependencies {
implementation("io.github.vsfe:boj-commons:1.0.2")
}
- 또한,
settings.gradle.kts
(Groovy 사용 시 settings.gradle
) 에 다음과 같은 내용을 추가해 주세요.
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
}
}
# ./gradlew boj -PproblemNumber={problemNumber}
# ex - 1000번 문제에 대한 세팅이 필요한 경우
./gradlew boj -PproblemNumber=1000
- Main.java 파일은
main/java/{basePackage}/p{problemNumber}/Main.java
에 생성됩니다.
- Test 파일은
test/{basePackage}/p{problemNumber}/Boj{problemNumber}Test.java
로 생성 됩니다.
- Testcase 파일은
test/resources/testcase/p{problemNumber}
에 생성됩니다.
- 기본적으로 백준 온라인 저지에 있는 예제 파일을 기반으로 생성되며, 필요한 경우 직접 추가가 가능합니다.
- 직접 Testcase 추가를 희망하는 경우,
{testcaseNumber}.in
, {testcaseNumber}.out
파일을 생성하면 됩니다.
- 각 문제의 Timeout은 백준 온라인 저지의 정책을 따라갑니다.
- Java의 기본 시간 제한은 (시간 제한) * 2 + 1초 입니다. (https://help.acmicpc.net/language/info)
- 만약, 문제에 (추가 시간 없음) 이라는 제한이 붙는 경우, 상단의 추가 시간 제한 정책은 무시됩니다.
- 다만, 문제 하단에 각 언어별 고정 시간 제한 정책이 있는 경우, 해당 시간을 따라갑니다.
- 설정된 Timeout 은 참고를 위해 추가된 것으로, 실제로는 백준 채점서버와 각자의 채점 환경의 런타임 차이를 감안해 주세요.