最近、自分のコードセンスのなさに危機感を感じ、スキルアップのために競技プログラミング(競プロというらしい)をやってみようと思い立ちました。ということで、前の日からAtCoderのことを調べ、環境構築をして、いざ、参戦します。
競技プログラミングについて
競技プログラミングについて調べてみると、
- AtCoderというサイトでコンテストを行っているらしい。
- 若者を中心に盛り上がっているみたいだ。
- 言語は一部のコンテストでは制限があるみたいだけど、基本、いろいろな言語が使えるらしい。当然、Pythonも。
- コンテストでは、課題に対して正解を出すこと以外に、速さも重要になるらしい。(初心者のうちはとにかく正答を出す)
- うまくアルゴリズムを組み立てて問題を解いていく。ライブラリに頼らない分だけ、素でプログラミングを組み立てる力が必要になるようです。
さっそく、今日の夜にABCという初心者向け(?)の大会があるということで、少し練習問題に挑戦してみることにしました。
練習問題
練習問題は『AtCoder Beginners Selection』をやってみました。全10問ありますが、B問題からかなり歯ごたえで出てきます。普段使わないような脳を使っている感じです。プログラミングをしていういるというより、算数の問題を解いている感じ。。。あーでもない、こーでもないと考えながら。最初はエレガントに解こうと甘いことを考えていたのですが、そんな余裕もなく、ついつい最後は泥臭いコードになってしまいます。
それにしても自分の書いたコードを見直すと、本当に見にくかったです。ちゃんとコメントとかをしっかり入れた方がミスなくできるような気がします。
練習問題をやってみた感想、、、
- パズルみたいで面白くて、なかなか頭を使う。
- 1問にそれなりに時間がかかるけど、解けたときは気持ちがよい。
- Pythonの入門書を確認したくなる。
- 基本のパターンがありそうだ。
ということで、練習問題は、10問中9問目を解いているところで、コンテストの開催時間になったので、コンテストの方に挑戦することにしました。
初のAtCodeのコンテスト参加の結果
惨敗でした。。。2問しか解けずであえなく時間オーバーとなりました。なかなか本気で取り組むと時間を取られそうですが、毎日少しずつ過去問に取り組んで、毎週のABCでは少しでも上位に行けるように頑張ります。
コメント