【Java】競技プログラミングの最高峰「AtCoder(アットコーダー)」参戦 #1
AtCoderのアカウント作成から、プロジェクト生成、Mavenを用いたローカル環境での実行、提出までの手順をまとめる。環境は最新のJava 24に準拠する。
1. 練習問題「practice contest」の確認
提出テスト用のコンテストとして、常設されている「practice contest」を使用する。問題一覧から「A - Welcome to AtCoder」を選択し、入力形式を確認する。
2. 作業ディレクトリの作成とプロジェクト生成
ターミナル(zsh)を開き、作業用の親ディレクトリを作成した上でMavenプロジェクトを生成する。
# 1. 競プロ用の親ディレクトリを作成して移動
mkdir atcoder && cd atcoder
# 2. Mavenプロジェクトを生成
mvn archetype:generate \
-DgroupId=jp.atcoder \
-DartifactId=practice-contest \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
# 3. 生成されたプロジェクトディレクトリへ移動
cd practice-contest
mkdir atcoder && cd atcoder
# 2. Mavenプロジェクトを生成
mvn archetype:generate \
-DgroupId=jp.atcoder \
-DartifactId=practice-contest \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
# 3. 生成されたプロジェクトディレクトリへ移動
cd practice-contest
3. 解答コードの実装
src/main/java/jp/atcoder/App.java を Main.java にリネーム。以下のJava 24対応コードを記述する。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 整数の入力
int a = sc.nextInt();
// スペース区切りの整数の入力
int b = sc.nextInt();
int c = sc.nextInt();
// 文字列の入力
String s = sc.next();
// 出力
System.out.println((a + b + c) + " " + s);
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 整数の入力
int a = sc.nextInt();
// スペース区切りの整数の入力
int b = sc.nextInt();
int c = sc.nextInt();
// 文字列の入力
String s = sc.next();
// 出力
System.out.println((a + b + c) + " " + s);
}
}
4. ローカルでのコンパイルと実行
practice-contest/(pom.xmlが存在するディレクトリ)で実行確認を行う。
# コンパイル
mvn compile
# 実行
mvn exec:java -Dexec.mainClass="jp.atcoder.Main"
mvn compile
# 実行
mvn exec:java -Dexec.mainClass="jp.atcoder.Main"
5. 提出と結果の確認
提出欄のプルダウンから「Java 24 (OpenJDK 24)」を選択して提出。
結果、ステータスが「AC」となり、無事に正解(OK)となったことを確認した。
PR