Web上で開催されているプログラミングコンテストの問題URLを取得するGem作った
テスト書いてないしAtCoder(のABC
とARC
)しか対応してないけど、一応動く模様。
これは何?
プログラミングコンテストの練習として、ひたすら過去問を埋めていくことがあると思いますが、いちいちブラウザから画面遷移するの辛かったりしませんか?
このGemは簡単なRubyスクリプトを実行すれば、解きたい問題のURLを得られます。
require 'contesturl' contest = Contesturl.new('atcoder') probs = { abc: { 1 => %w(a b) }, arc: { 35 => %w(d) } } contest.obtain_url(probs).each do |prob| puts prob end # http://abc001.contest.atcoder.jp/tasks/abc001_1 # http://abc001.contest.atcoder.jp/tasks/abc001_2 # http://arc035.contest.atcoder.jp/tasks/arc035_d
上のようなスクリプトを書いて、ruby script.rb | xargs -n 1 firefox --new-tab
のようにコマンドを叩けば、(Firefoxなら)一気に問題ページを開けます。
これからと所感
URL吐きたかっただけなので割と満足。
yukicoderとか、他のコンテストにも対応すれば競プロ活がはかどりそう。
ただ、上のprobs
のように、欲しい問題をHash->Hash->Arrayな形で作らないといけないのが面倒だしイケてないなと思うので、なんとかしたいです。
いい機会なのでテストの書き方も勉強するぞ〜。
オブジェクト指向ホントにわからん
こんなのわざわざ自作しなくても、いい方法あるよ!という方、教えていただけたら最高です:)