学生時代にはProjectEulerというオンラインジャッジでプログラミング遊びをしていました。
最近は仕事でコードを書くものの、なんとなく物足りなく感じてきたので、いっちょ競技プログラミングに手を出して鍛えてみようと思います。
選んだのはAtCoder
AtCoderとは、オンラインで参加できるプログラミングコンテストのサイトです。
とあるように、決められたコンテスト時間中に問題を解いてプログラムを提出。
正しく書けていればパスして得点がもらえる。という仕組みです。
問題を解いていると、「こんな処理がしたいけどどう書くんだっけ/標準のライブラリで使えるのあったっけ」など、かならず何かしら調べて解決するシチュエーションが出てきます。
もちろん仕事で書いていてもそうなのですが、競技プログラミングの問題のほうが的が絞られているせいか、調べやすい&「なるほど!」感が強い印象です。(ここは完全に個人の感想)
まずは過去問から
AtCoderは土曜日の夜にコンテストが開催されるのですが、毎週何かしらあって参加出来るかどうかが微妙なときが多く・・・。
なのでまずは過去問を解くところからやっていこうと思います。
BeginnerくらいであればProjectEulerよりも簡単な問題が多いので、「どう解くか」はぱっと頭に浮かんできます。ただ、その先の「どう書くか」が難しい・・・特に、Seleniumの自動テストしか書いていないJavaで解こうとすると中々難しい。もしかしたら勉強中のRubyに変更するかも。
ということで、ある言語の学び始めや、プログラミングやってみたいけど何かソフトを作るって感じでもないなぁという人には競技プログラミングなんか良いのではないでしょうか。一緒にやりましょー