AtCoderを始めてみる
競技プログラミングの AtCoder を始めることにした。とりあえずの目標は ABC の AB を完答して茶色を目指す。作成したコードは GitHub 上に公開する。
いつも Python の参考にさせてもらっている Youtube チャンネルで競技プログラミング AtCoder に参加してみよう!初心者向け!AtCoder のはじめ方を見ました。AtCoderは、競技プログラミングのプラットフォームで定期的なコンテストが開催されているとのこと。
競技プログラミングという遊びがあることは知っていましたが、プログラミングと数学が得意な人が競うイメージでしたが、意外と入門の敷居は低いらしいということを知りました。コンテストでは難易度が異なる問題が出題されるが、Beginners Contest という初心者から中級者向けのコンテストでは、基本的な文法を知っていれば回答できるようなレベルの出題もあるそうです。これなら全く回答できなかったということはなさそう。
学生の頃は、定期試験や学会発表で一定の時間超集中して頭を使うイベントがありました。このような強いストレスがあると、終わった後の開放感(達成感)がとても気持ちよかった思い出です。しかし大人になると、集中することはあっても適当にお茶してそこまで頭に負荷をかけることがなくなり、その分開放感も感じなく成りました。逆に言うと、常に課題のことが頭から離れない軽度の負荷が続いている感じです。
そこで、久しぶりに決まった時間不可をかけるトレーニングということで、AtCoder を始めることにしました。まずはユーザ登録をしました。
目標
AtCoder には rating が存在しますが、大まかに色で範囲が区切られています。そこで、まずは中級の入口(と言ってもなかなか高いハードルらしい)である茶色を目指します。具体的には、Beginners Contest の A と B 問題は必ず回答で C 問題を回答できると良いなくらい。
言語
いろいろな言語で参加できますが、とりあえずは慣れた Python で参加します。
難しい問題ではメモリ量や計算時間の制限をクリアする必要があるのでコンパイル系の言語を使う必要があるかもしれません。しかし、今の段階では出題の解法を考える前にコンパイルエラーの修正になってしまいそうなので、慣れている Python を選択します。
コンパイル系の言語は、C++がメジャーらしいです。
回答例
自分で作成した回答は、GitHub で管理して後で再利用できるしておこうと思います。
参考サイトと脚注
- AtCoder Beginners Selection 問題は、ログインしなくとも見ることが可能です。