ITスキル

Javaユーザ向けのAtCoderの始め方【競技プログラミング】

この記事では、Java使用者向けにAtCoderの始め方を解説します。

AtCoderとは、競技プログラミングコンテストを開催している国内サイトです。

国内では最大規模であり、オンラインで毎週プログラミングコンテストを開催しています。

コンテストに参加して自分の実力を確かめることで、プログラミング上達のモチベーションが上がります!

Javaを使っている人で競技プログラミングに興味を持っている方はぜひ最後まで読んでみてください。

この記事でわかること
  • AtCoderの始め方
  • Javaユーザが気を付けること
  • Javaユーザ向けお助けサイト

アカウント登録する

AtCoderのホームページで新規登録を選択し、情報を入力します。

AtCoderホームページ:https://atcoder.jp/?lang=ja

①新規登録を押す

②情報を入力する

以上で登録完了です。

環境構築(※必要な方のみ)

Javaを使える環境ができていない人は環境構築を行いましょう。

おススメは「Visual Studio Code」です。

Visual Studio Codeはマイクロソフトが開発しているWindows、Linux、macOS用のソースコードエディターです。世界中の人々が利用している人気の開発ツールです。

こちらの記事を参考に環境構築してみてください⇩

問題を解いてみる

問題形式

AtCoderでは以下の項目で問題を与えられます。

  • 問題文
  • 制約
  • 実行時間制限
  • メモリ制限

与えられた実行制限時間とメモリ制限を満たすプログラムを考える必要があります。難易度が上がるごとに制限時間とメモリがネックになります。

回答は、ソースコードを張り付けて行います。「提出」ボタンを押すと判定が始まります。

正答するとACと表示されます。

初心者は「AtCoder Beginners Selection」を解いてみよう

アカウント登録したら早速問題を解いてみましょう。

AtCoderではリアルタイムで開催されるコンテスト以外にも、過去問や常設中のコンテストの問題を解くことができます。

初心者の方は常設中のコンテストの「AtCoder Beginners Selection」の問題を解くことをおススメします。

競技プログラミングの基礎的なテクニックを学ぶことができます。

コンテストに参加する

AtCoder Beginner Contestに参加しよう

AtCoderの醍醐味である、コンテストに参加してみましょう。

AtCoderでは初心者~中級者向けのコンテストとして、毎週土曜日の21時に「AtCoder Beginner Contest」が開催されます。

初心者の方はこちらのコンテストの参加をおススメします。

100分間で全7~8問を解くという形式です。

難易度ごとに問題が用意されているので、一つでも上の難易度の問題が解けるように頑張りましょう。

参加方法

  1. 事前に参加登録をしておく
  2. 開始時刻になったら問題が表示される

コンテストのページを開き、「参加登録」を押します。

※企業が主催しているコンテストの場合は情報を入力する画面が開かるので、任意で入力します。(賞金の受け取りやスカウトのため)

Rated参加かUnrated参加か選択します。自分の実力を知り、ランク上げを楽しむためにもぜひRatedを選択してください。

これで事前参加登録は完了です。コンテスト画面を開いておき、開始時刻になったら問題が表示されます!

Javaユーザの注意点

解答例がC++で書かれている

AtCoderでは、解答例のコードは基本的にC++が使われています。これは、C++が競技プログラミングで最も使われている言語だからです。

Javaユーザにとっては解答例がJavaで書かれていないのは不便です。

この問題には2つ解決方法があります。

一つ目は、「他ユーザのJavaで提出された回答を検索するです。

AtCoderでは他のユーザが提出した回答を見ることができます。検索条件で言語を指定できるので、Javaで書かれた回答で検索をかけましょう。

言語:Java、結果:AC(正解)で検索することでJavaで正解した回答の一覧が表示されます。

「詳細」ボタンを押すことでコードを見ることができます。

2つ目は、ググる」です。

「AtCoder Beginners Selection」などの常設された問題では、「問題名 + Java」で検索すれば、ユーザがブログにアップしたJavaの回答がヒットすることがあります。

ブログなどではコーディングの解説を同時に行っている場合もあるので、解説が欲しいという方はこちらの方法をおススメします。

Javaユーザ向けお助けサイト

競技プログラミングにおけるJavaのお助けサイトを紹介します。

・Javaで競技プログラミングをするときの罠とテクニック

https://qiita.com/p_shiki37/items/a0f6aac33bf60f5f65e4

・Java用ライブラリ

https://qiita.com/sk7771188/items/dd53b76d38ef26660ce3

・VSCode上でJavaを実行する方法

https://qiita.com/jutaroi01/items/da4ef7ca1c89dd73b259

さいごに

いかがでしたか?

この記事ではJavaでAtCoderを始める方法を解説しました。AtCoderでプログラミングコンテストに参加すれば、ライバルと競い合いながらプログラミングの腕を磨くことができます。

ぜひ利用してみてください!