No Programming, No Life

プログラミング関連の話題や雑記

お題:FizzBuzz(Nパターン)

プログラミングお題の一覧はこちら

※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。

説明

1から100までの数をプリントするプログラムを書け。
ただし、[3, "Fizz", 5, "Buzz", 7, "Hoge"] のような
“<数値>と<文字列>”が対となった、要素が偶数個のリストを受け取り、
数が<数値>の倍数のときは、対となる<文字列>をプリントすること。
数が複数の<数値>の倍数となっている場合、リストに指定された順で、<文字列>を結合しプリントすること。
数がすべての<数値>の倍数でない場合、数をプリントすること。

解いてみた

Groovy (2011-08-17更新)


Groovy版は既にid:nobeansさんが解いていたのでちょっと趣を変えて、各キーごとのリストを一旦全部作ってから.transpose()*1して.join()*2する感じにしてみました。

Twitterでの反応


FizzBuzz(Nパターン) — Gist


nobeans's
gist: 1146957 — Gist

*1:縦横をひっくり返す。

*2:リストの文字列をくっつける。