Twitterでふぁぼったものをひたすら試します

付け焼き刃のRubyでプログラミングコンテストに挑戦してみた

ふぇぇ>< 難しいよぉ><

やろうと思い立った経緯

山陰旅行で島根に行った。Ruby的な場所には全く行かなかったけど、せっかく現地に行ったのでこの機会にRubyを勉強してみることにした。
3泊4日のうちの3回の夜、まあ2時間くらいはやっていたと思うので6時間くらいか。
経験の薄いわたしでもさすがに条件文がなんたるかくらいはわかっていてRuby入門サイトを出して読むのもつまらないので、代わりに AIZU ONLINE JUDGE: Programming Challengeを出した。ちなみに競技プログラミングの経験はないに等しい。ルールを知っているくらい。解き方は知らない。以前Javaで挑戦して入力が面倒くさすぎて3秒でやめた。
Ruby on Railsでもよかったかもしれないけど環境構築が面倒くさい。あとれいるずを使うネタがない。

Rubyのお勉強タイム

AOJははろーわーるど級の難易度から用意してくれているので、これまで puts "hello, world" しか知らなかったわたしでも挑戦できる。このITPシリーズに挑戦。
容赦なく他人の答え見て解いてた。あんまり実行時間メモリは気にしてなくて、強いて言えば解答のバイト数。for文とかでゴリゴリやってたら他の言語でもできるじゃん、なので。必然的にゴルフしてる人たち……の次にバイト数が少ない人の回答を参考に。
読めることがだいじ。

コンテストに参加

以上の状態で2種のプログラミングコンテストに挑戦。ほんとはコードで語れ!VOYAGE GROUP CTOからの挑戦状 2015にも参加しとこうと思ったけどよく読んだら参加資格満たしてなかった。
必要なのは競プロに慣れるというよりAtCoderに慣れるみたいなところがあるので別にいいや

ABC

abc029.contest.atcoder.jp
偶然にも後述のTTPCの前日に開催。突然ガチ問題をやると大変なことになってしまうので、こちらをやる。
なんかWAでペナルティ食らった気もするけどとりあえずCまでといた。Dはよくわからなくなったのでやめた。順位としては、470人くらいが1度はsubmitしていて、そのうちの318位くらい。Dの部分点とりたかったなあ。
上位の人たちは5分とか10分で全部解き切っているすなわちこの人たち何も考えてないと見た。手が勝手にこの程度の問題を解くことを求められている。先は長い。

TTPC

atnd.org
こっちはガチ。そして長時間。つかれた。ooo(ryじゃあないんだよ。
16問くらいあって、そのうち4問AC、1問がTLEして1問がWAして終わった。順位的には、1個以上ACした人230人くらいいるうちの101位。そろそろ「Rubyの文法がわからないというより本当に解き方がわからない」というところになってきた。まだRubyのかきかたぐぐってるけど。

今後について

AtCoder Problemsなるものがあるので、そっちをかたっぱしから見ていくつもり。アレとかソレの本を読むかどうかはまよいどころ……。じかんとめもりの壁にぶつかったら読むかもしれない。

疑問

競プロってなんなの