公開していいらしいと最近知ったので。
「paiza オンラインハッカソン」とは?
そもそもpaizaとはギノ株式会社が運営している、プログラマやシステムエンジニア向けの転職サイトです。特徴としては「プログラミングスキルが図られる」ということ。実のところわたし自身もよく分かっていないのですが、どうやらpaizaに掲載されている問題を解くとそのランクに応じた就職先をマッチングしてくれるという仕組みらしい。興味を持った方は早速登録だ!(ステマ)
さて本題の「paiza オンラインハッカソン」はその名前のとおりpaizaが不定期に開催しているプログラミングコンテストです。今回は5度目の開催で、タイトルは「paizaオンラインハッカソン5 エン修羅」(以下「POH5」と略記)。
プログラミングコンテストというと無機質で受験じみたイメージがあるなか、こういうふざけたユーモラスな企画はよいですね。
POH5提出コード
今回のPOH5は次のような構成になっています。
共通問題1 ⇒ 共通問題2 ⇒ ルート選択 ⇒ 幼馴染ルート or アイドルルート
「ルート選択」は標準出力に指定の文字列を出力するだけの問題なので省略。あと参加者のルート選択の統計をとり、最終的な結果を争うという趣旨のようですが……ふたりとも攻略してしまった (´・ω・`) 解いている当時は主旨を理解していませんでした。すみません。
ところで――ハーレムルート実装はまだですか(´・ω・`)
共通問題1
共通問題2
幼馴染ルート
アイドルルート
解説……?
使用言語はすべてRuby。間違いはもちろんタイムアウトもなく、しかもすべて一発合格でした。レベルとしてはそれほど高くないと思います。個人的にはやや物足りない印象ですが、「初心者から上級者まで参加するお祭り」という意味合いではちょうどよかったのかも。
さて各問題解説と行きたいところですが……わすれちゃった。てへぺろ(・ω<)。実は上記のコードを実際に提出したのは4月のなかば(POH5が開催されてすぐ)。つまりおよそ3週間前ということですね。その間いろいろありまして、その喧騒のなか問題や内容をすっかり失念してしまったのです。
その場の勢いでコードを書き捨ててしまったので、残していた提出コードを読んでも意味不明。メモでもあれば別ですがそれもなく、全く途方に暮れております。超反省。
とはいえ当時のわたしがかなりのワンライナー志向でコードを書いていたということは読み取れますね。そしてそれを実現するRubyの強力さも確認できます――こんな結論でいいのかしら? まあこんなコードでも誰かのお役に立てれば幸いです(´・ω・`)