世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2007年05月29日

今さらにFizzBuzz

まぁ、いい加減流行りを過ぎて、弊社では採用面接の際にこの手のを入れることに決定したFizzBuzzですが、「Lisp風Javaの解」を見つけたので触発されて、「C風Ruby」で。

format_table = {
  0 => "FizzBuzz", 3 => "Fizz", 5 => "Buzz",
  6 => "Fizz", 9 => "Fizz", 10 => "Buzz", 12 => "FIzz" 
}
format_table.default = "%d"

(1..100).each do |i|
  puts format_table[i%15] % i
end

つーか、Cで同じものを回答した人は既に絶対にいるだろうけれども。

コンパイラと仲良しな先輩方に影響されて育つとこうなる。でも、Cの気持ちに戻ってくると、Hashを使うコストとかformatのparseコストとか数値出力の基数変換コストとか剰余のコストが富豪的に見えてちょっとやましい気持ちになる。除算とか、ましてハッシュ関数を呼ぶとかはものすごーく高価だったよなぁ。そのへんはやっぱりまだRuby風が残っている回答なのでした。

トラックバック

http://yugui.jp/articles/630/ping

現在のところトラックバックはありません

コメント

yoruno_d (2007年05月30日 17時54分41秒)

はじめまして。
うわー、これ簡潔でいいですね!

ところで、ハッシュのKey=12に対する値が
Fizz → FIzz
なのは、typoですか?

これに触発されて僕もやってみたんですが
もしかして把握してない仕様があったのかな
と、心配になりました。

blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2010年02月
  2. 2010年01月
  3. 2009年12月
  4. 2009年11月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system