bpeldi2oerkd8の開発日誌

とあるひよっこエンジニアの成長の記録。

AtCoderの茶色になるまでにやったこと 【Java】

abc166_score
先日のAtCoder Beginner Contest 166 (ABC166)で茶色になりました!

茶色を達成したときの結果はこちらです。
developer-bpeldi2oerkd8.hatenablog.com

天才は見向きもしない色なのですが、我々凡人にとっては、茶色になるのは意外と大変です。

(どのくらい勉強するのか目安がわかりませんよね)

私も茶色くらいだったらすぐ行けるだろ、と思っていたのですが、結局達成するまでに10回かかってしまいました。

おそらく、もっとかかる方はかかると思います。

今回は備忘録として、茶色になるまでにやったことを書きたいと思います。

茶色になるまでに停滞している方、これから茶色になるために勉強しようとしている方の参考に少しでもなれば幸いです。

AtCoderの常識を覚える

ある程度、AtCoderをやっていると自然に覚えていくものなのですが、AtCoder界隈で常識とされていることがそこそこの量あります。

まずは、AtCoderに何回か参加して、こういった常識を知ることが大切だと思います。

ぱっと思いついた常識はこんな感じです。

  • コンテストに積極的に参加する(特に、初心者のうちはAtCoder Beginner Contest (ABC) だけ参加すればよい)
  • A問題から順に解いていく(ただし、回によっては難易度が入れ替わっていることがあるので、わからなければ1つ先の問題も見る)
  • 必ず、自分のパソコンに開発環境を用意する(ブラウザ上だとどうしても速度が遅いので)
  • 自分にプログラミングの基礎能力が身についていない場合は、もう少し勉強してから参加する(ガチのプログラミング初心者は周りのレベルが高すぎて、普通に心が折れます)
  • AtCoderのための便利なサイトを知り、登録する(Aizu Online Judge (AOJ)、AtCoder Problemsなど)

3つ目については長くなるので、次の項目を見てください。

4つ目については、あまりネットで言われていませんが、AtCoderは正直ガチの初心者向けではないことです。

回にもよりますが、A・B問題がスラスラと解けるレベルでないと挫折してしまうと思うので、PaizaやProgateなどである程度力をつけてから参加したほうがいいかもしれないです。
paiza.jp

prog-8.com

自分のパソコンに開発環境を構築する

何回かコンテストに参加すると、必ず通る道だと思います。

やはりAtCoderでは速さを競うので、ブラウザ上では遅いと感じます。

なので、必然的に自分のパソコン上に開発環境が必要になってきます。

JavaではEclipseという便利な開発環境があります。

これは、メソッドや変数などを自動で補完してくれ、よく使う処理も便利なコマンドで補完してくれます。

ちなみに、Eclipseはこちらのサイトでダウンロードできます。
mergedoc.osdn.jp

こちらのサイトの最新版のJava版のFull Editionをダウンロードすれば大丈夫です。

インストール方法、使い方などはこちらのサイトが参考になります。
www.sejuku.net

www.sejuku.net

他にも、AtCoderで人気なC++Pythonでも使える環境として、Visual Studio Code (VS Code) があります。(人気ですね)
azure.microsoft.com

AtCoderで必要な知識をつける

ここからは、よく他の方も紹介されているアルゴリズムやデータ構造、計算量に関することです。

やはり、色を変えるためにはこれらの知識が不可欠だと感じます。(私も今勉強中です)

こちらのサイトが非常にわかりやすいです。
qiita.com

こちらのサイトにあるように、基本的な文法に加え、まず全探索になれることから始まります。

あと、計算量に関する知識も必要です。

ただ、現段階では私もそこまで詳しくなく、茶色の段階ではAtCoderで時間制限に間に合うのは10^ 9回以下という知識さえあればいいと思います。

そして、ここまで終わったら、さらにSetやMapなどの標準ライブラリの知識と使い方、二分探索などの他のアルゴリズムの知識をつけていきます。

こちらのサイトを参考に勉強しています。
qiita.com

このようにしていると、いつの間にか茶色に到達しているはずです。

(ちなみに、茶色に到達するまで平均10回といわれているので、あきらめずにコンテストに参加し続けるのも大切だと思います。)


というわけで、AtCoderで茶色になるまでにやったことを紹介させていただきました。

まだ、ブログ経験が浅いもので、分かりにくいところがあるかと思いますが、そこのところは見逃してください。

この記事が茶色を目指している方の参考に少しでもなれば嬉しいです。

これからも、AtCoderの勉強を続けていくつもりなので、もしよかったら読者になっていただけると嬉しいです。

(ツイート・はてなブックマークなどもしていただけると嬉しいです。)