AtCoderに出会ったのは最近です。2018年の9月に初めてコンテストに挑戦してみました。
結果は6問中1問だけ解けました。良い結果ではないのは確かですが、パズルを解いてるみたいで楽しかったのを覚えています。
今回は最近始めたAtCoderについて書いていきます。
AtCoderとは
AtCoderとは、オンラインで参加することができるプログラミングコンテストです。
プログラミングコンテストではプログラミングを使って、パズルのような問題や、数学的な問題を制限時間内に出来るだけ早く、出来るだけ多く解いていきます。
コンテストは基本的に土日祝日に行われます。21時から始まるものが多く、大体が100〜120分間で、プログラミングの問題を解いていきます。
どのようなコンテストがあるかと言うと
- AtCoder Beginner Contest(通称ABC、初心者向け)
- AtCoder Regular Contest(通称ARC、中上級者向け)
- AtCoder Grand Contest(通称AGC、あらゆる層向け)
- 企業コンテスト
- その他、色々な団体によるコンテスト
があります。
ABC、ARC、AGCは定期的に開かれています。
また、AtCoderのサイトではコンテストの過去問を公開していて、いつでも解くことが出来ます。
どんな問題が今まで出てきたか知りたい場合や、プログラミングの練習などに使えます。どんな問題が出ているのか気になる人はぜひ見てみてください。
プログラミングが初めてでも大丈夫
AtCoderに少しでも興味を持った人は、まずは登録してみましょう。AtCoderへ
右上の新規登録から簡単に登録することができます。
登録したらまずはチュートリアルをやってみましょう。practice contestというのが用意されています。
詳しい登録などの説明はこのサイトに書かれています。
チュートリアルが終わったらもうコンテストに出る準備は整いました。
プログラミングの初心者の人は、いきなりコンテストに出るなんて大丈夫かと思うかもしれません。
でも、大丈夫です。
プログラミング初心者の人でも初心者向けのABCから始めましょう。基本的な入出力と、四則演算が出来れば解けるような問題も出てきます。
重要なのはリアルタイムのコンテストに参加することだと思います。
コンテストに出ることでレーティングが上がります。レーティングとはAtCoder内でのランクみたいなのを表します。これが良いモチベーションになります。
レーティングが上がると嬉しいですし、レーティングを上げるために頑張ろうと思えます。
AtCoderでの勉強の仕方
AtCoderに登録したら、もうあとはコンテストに出るだけでいいと思います。
AtCoderの社長であるchokudaiさんのブログにも勉強の仕方として
1. コンテストに参加する
2. コンテストで問題を解く
3. 解説を見る、聞く
4. (やる気があれば)解き直す
5. 大きなコンテストに参加する
chokudaiのブログ 〜AtCoderでの勉強の仕方(コンテスト編)〜
とあります。
私的には、AtCoderのコンテストはプログラミング経験があっても、アルゴリズムをちゃんと書いたことなかったりすると惨敗すると感じています。
でも、数学的な問題とか、発想によって解くことが出来る問題もあるので、アルゴリズムが分からなくてもコンテストには出られます。
就活にも使える趣味!
コンテストには企業コンテストというものがあり、企業が求人のために行うものもあります。
コンテストの上位になることで、採用の一次面接がパスとなったりすることがあります。賞金が出るコンテストもあります。
また、AtCoderではAtCoderのレーティングを用いた就職、転職サービスのAtCoderJobsがあります。
趣味としてやっていたことが就職に繋がる可能性もあるということです。
AtCoderの社長のchokudaiさんはTwitterで
と言っています。
競技プログラミングというネトゲで就職しちゃったくらいの軽い気持ちでやるのがいいのかもしれませんね。
最近は日本経済新聞や、KEYENCEといった有名企業が採用に繋がるようなコンテストを行なっています。AtCoderが多くのプログラマと企業とのコネクションを生み出しています。
chokudaiさんすごいなあ〜
個人的な話
私は知り合いが何人かAtCoderをやっていたことから、競技プログラミングがどういうものか分からない状態で始めました。
それからはクイズを解くような感じでずっと参加しています。
AtCoder始めた時は、プログラミングは講義とか研究で使ったことがあるある程度の大学生でした。アルゴリズムに詳しいとかもなく、有名なアルゴリズムですら実装したことがない状態でした。
使用している言語もPythonと、競技プログラミングには不向きのインタプリタ言語です。
AtCoderを始めてから数ヶ月たった今、レーティングとしては緑です。
そろそろちゃんとアルゴリズムの勉強して、実装したりしてみて、上を目指してみたいなと思っています。
最後に、 AtCoderは趣味として始めてもいいですし、エンジニアを目指す人にはスキルアップのためや、企業への採用を目標にやることもできます。趣味として始めて気付いたら企業に就職が決まってたというのが理想かもしれないですね?
プログラミングに興味がある人はAtCoderを始めてみてはどうでしょうか。