CodeIQでの結城浩さんのSpaceTalky問題でのCodeを確認してみた

 以下がRubyで組んだCode、環境っていうかiMacで動かしている。元々OSXにはrubyが入ってるのであとは何で組んでどう動かすかだけど,普通はどうするのだろう。僕は昔から使っているmiというフリーなエディタで組んで,そのツールで動かしている。rubyモードが元々付属してたか,後から組み込んだかは忘れた。(とにかく良く忘れるのだ。)

 そんなわけでまず僕のコード。

# spacetalky Problem

# データファイルを開く
require 'open-uri'
wrds=[]
open("/Users/satie/Desktop/ProgramingProblem/spacetalky/words.txt") {|file|
  while wrd = file.gets
    wrdd=wrd.split
    wrds=wrds+wrdd
  end}
wrds.each{|wd|
  ipt=""
  wd.unpack("a2"*(wd.length/2)).each{|pr|
  ipt=ipt+pr[0]*("abcdefghijklmnopqrstuvwxyz".index(pr[1])+1)
  }
htmldum="http://spacetalky.textfile.org/api.cgi?input="+ipt
  opt=""
open(htmldum) {|f| f.each_line {|line| opt=line}}
  if wd==opt
 print ipt,":",opt,"\n"
else
 print "X:",wd,"\n"
end}

 今回は何かあっさり判った気がしたし、特に面倒なアルゴリズムもなくサクッとrubyのコマンドを確認して(少しは覚えろよ!)はい一丁上がりって感じだった。ただ,矢鱈と「不能」なXが出力されてとても不安だったのは覚えている。

 で、ばたばたしていてやっと評価をのぞくと5でバッジまで貰ってるではないか。何だ?神懸かっていたのか?とか、まさかどっかの先生みたく甘く付けたのか?とかまぁありそうにもないことを思い浮かべながらCodeを見直した。

 結局チェックしてただけなんだ。「はいはい」って気がついた規則通りに文字並べさせて、APIに投げて上手くいったらオッケーで駄目ならX。たったそれだけ。問題の面白さに気づく事なくレポート出してた。ありゃりゃ。だ。

 昨夜の職場の歓送迎会という宴会の料理が「本格的仏蘭西料理」という説明で、本格的でない仏蘭西料理って何だろう?って思ったわけだが、出て来る料理が「本格的に」素材が謎(肉とサラダとデザートに関しては別)なのに美味しかったのだが、折角美味しくてもそれが何なのかが判らなかった人も多かったようで,今回の僕の解答は丁度そんな感じだったんだなあと思う。何か大層勿体ないことをしてしまった感じだ。もっと「不安を楽しんであれこれ確かめて遊ぶ」ってことをするべきだった。料理を味わうのと同じで。とはいえ年度始めは気遣いが多く忙しかったのだけど。

   ** 全文公開の投げ銭仕様・良ければ100円下さいな **

ここから先は

1字

¥ 100

この記事が気に入ったらサポートをしてみませんか?