AtCoderってなに?内容とメリットについて簡単に書いてみました

プログラミング
この記事は約5分で読めます。

最近話題のAtCoderがどんなものなのか、できるだけ簡単に書いてみました。

この記事には、以下の内容が含まれています。

  • AtCoder・競技プログラミングの簡単な説明
  • AtCoderで遊ぶメリット(私個人の意見)

次のような方を対象に書きました。

  • AtCoderにちょっと興味がある人
  • AtCoderをやる気はないけど、何なのか知りたい人

なお、筆者のうにだよは競プロ歴8ヶ月・AtCoderレート1500ちょっと(水コーダー)で、解いた問題は1100問くらいの、ただのハマっている人です。実力的にすごいわけではありません。(2020年10月現在)

スポンサーリンク
スポンサーリンク

AtCoderとは?

競技プログラミングってなに?

『競技プログラミング』(競プロ)は、プログラミングでパズル的な問題を解いて競うゲームです。

競プロでは、こんな問題が出ます。

A×Bを求めてください。

A – Multiplication 1

この問題は「A×Bを計算して表示するコード」が正解になります。たとえば、「Aが3、Bが4なら12を表示する」コードを書けばいいです。

もう少し難しい問題だと、こんな感じの問題があります。

  • 迷路のスタートからゴールまでの最短経路を答えてください。
  • リュックの容量と、たくさんの品物の価値・重さが与えられます。最大でいくら分品物をリュックに詰められるか答えてください。
  • ゲームのルールと初期状態が与えられます。先攻と後攻がどちらも最善の選択をしたとき、どちらが勝つか答えてください。

AtCoderってなに?

AtCoderは競プロの『コンテスト』を開いている会社・サービスです。

AtCoderのコンテストって何?

↑コンテストの順位表

AtCoderは、競プロのコンテストをほぼ毎週末の夜9時から開催しています。コンテストでは、こんな感じのことをして順位を競います。

  • 競プロの問題が何問か出される(だいたい6問)
  • 時間内にたくさん正解することを目指す(1時間半くらい)
  • 正解数・かかった時間で順位を競う

多いときは、国内外から合計1万人以上の人がコンテストに参加するほどにぎわっています。コンテストといってもお堅いものではなく、だれでも気軽に参加できます。

  • コードを書けるPCさえあれば、どこからでも参加できる
  • 参加に必要なのは簡単なユーザー登録だけ
  • もちろん参加費はない
  • ふだんのコンテストに賞金はかかっていない

このように、ネットゲームを遊ぶくらいの気持ちで参加できます。たとえば、私はよくお酒を飲んでYouTubeやラジオを聴きながら遊んでいます。

『レート』で自分の実力が見える

↑私のレートのグラフです。マイページを開けばいつでも見られます。

AtCoderは1回のコンテストの順位を競って終わりではなく、コンテストの結果に応じて『競プロ力』を数値化した『レート』という数字が上下します。

レートは400ごとに色がついています。の順に色がつきます。多くの参加者が、色を実力の区切りとして認識しています。

中でも一番上の赤コーダー(2800~)は大変高い実力を持っていて、世界に140人ほどしかいません。(2020年11月現在)

1色上になるのは物凄く大変ですが、『色変』するととても大きな達成感を得られます。たくさんのプレイヤーが、レート・色を上げることを目指して、日々競プロにはげんでいます。

AtCoderの特徴その他

ここまで書いてきた以外の、AtCoderのいいところを簡単に書きます。

  • 『本当のプログラミング初心者』にもやさしい問題が用意されている
  • かなり多くのプログラミング言語に対応している
  • 過去問にいつでも挑戦できて、コンテストがないときも楽しめる

AtCoderで遊ぶメリットは?

次は、AtCoderで遊ぶメリットを書いてみます。あくまで私個人の意見ですが、この4つをメリットと考えている人が多いです。

  • 問題を解くこと自体がパズル的で楽しい
  • プログラミングの基本の練習になる
  • 効率的なプログラムを書く練習になる
  • 就活の役に立つ可能性がある

問題を解くこと自体がパズル的で楽しい

『問題を解くこと自体がパズル的で楽しい』のが、多くの人にとって最大の理由だと思います。競プロに少しでも興味を持ったあなたは、きっと楽しいと感じるはずです。

プログラミングの基本の練習になる

プログラミングの入門本に書いてあるレベルの内容は、AtCoderを通して完璧にすることができます。逆に、入門本で勉強した人は、少しの慣れでAtCoderの簡単な問題を解けます。

いくらAtCoderだけをやってもアプリやゲームを作ることはできませんが、基本的なことは何をするにしても役に立ちます。

効率的なプログラムを書く練習になる

基本的なことからレベルが上がると、効率的なプログラムを書く練習にもなります。AtCoderは、決められた時間内に計算が終わらなければ不正解になるからです。1時間や1年かけて答えが出るプログラムではだめです。

効率的なプログラムを書く能力は『アルゴリズム力』などと呼ばれていて、競プロの本質の1つといっても過言ではないかもしれません。

一般的な開発では『コードの速さ』よりも『コードの読みやすさ』などが優先されることが多いですが、効率的なコードを書くべき場面は必ず存在します。

就活の役に立つ可能性がある

楽しかったり勉強になったりするだけではなく、AtCoderは就活の役に立つ可能性もあります。

  • 就活のコーディング試験の練習になる
  • AtCoderJobsという、レートを使った公式の就活サイトがある
  • レート自体を大きく評価する会社もある(主にコンテストのスポンサーをしている会社)

AtCoderのレートが評価されるのは、『アルゴリズム力』を評価する企業があるからです。

現時点ではAtCoderのレートだけで決定的に就職が有利になるわけではありませんが、実力やアピールの仕方によっては役立てることもできます。(とくに学生の方の場合)

まとめ

AtCoderについて簡単に説明しました。まだ書いている途中ですが、下の記事も投稿予定です。

  • AtCoderコンテスト参加の流れ
  • 初心者向け(たぶん緑まで)攻略