@kyanny's blog

My thoughts, my life. Views/opinions are my own.

YAPC ノベルティに入っていた Kaizen Platform のシーザー暗号クイズ

クイズというほど難しいものでもないが。

irb> Caeser.encode(3, ________)
=> "zh zdqw brx"

穴埋め問題になっていて、シーザー暗号を復号するとメッセージが読めるよ、というもの。シーザー暗号が何か知っていればプログラム書くまでもなく復号できるけどせっかくなので一応コードで解いた。といっても真面目に実装するのは面倒なので雑に済ませた。

gistc386468c23a65627fc99

これが採用面接のコード試験だったとして「一文字復号失敗してるけどメッセージは十分読めました」とか言ってのけたら確実に落とされると思う。 String#succ の逆が欲しい。


追記: やっぱりなんとなく気持ち悪いのでちゃんと実装した。

kyanny/caeser.rb · GitHub