TECH::CAMP 1ヶ月コース 2日目 Fizz Buzz問題

Rubyのプログラミングの続き
変数のスコープ、そして引数という概念に苦しむ
「メソッド内ではメソッドで定義した変数しか使えない」
「そのために引数を使う」
ということを頭には入れているものの、実際に課題を解いてみるとまるで対応出来ないという現実

と、苦悩しつつもカリキュラムを進めていくと、Ruby問題というページにたどり着く
ここで出てきたのがFizzBuzz問題
俺でもどこかで名前を聞いたことがあるレベルの有名な問題である。

以下が問題文

1〜100までの数字をターミナルに出力してください。
ただし、「3の倍数」のときは数字の代わりに文字列でFizzと、
「5の倍数」のときはBuzz、両方の倍数である「15の倍数」のときはFizzBuzzと出力してください。

何個かヒントがあり、ノーヒントというわけではない。
解答時間制限は15分

さて、僕はどのようになったのか、というと
1時間近く考え、結局実行結果も合わないまま・・・

ギブアップ

解答を見て、「あ~なるほどね」

以後、カリキュラムを進めていくが問題という問題にはことごとく惨敗している。

せっかくなので僕が作ったFizzBuzz問題のコードをここに書いてみる。

def fizz_buzz
  num = 1

  while num <= 100 do
    if num%3 > 0
      puts num
      num = num + 1
    elsif num% 15 == 0
      puts "fizzbuzz"
      num = num + 1
    elsif num % 5 == 0
      puts "buzz"
      num = num + 1
    else num % 3 == 0
      puts "fizz"
      num = num + 1
    end
  end
end

fizz_buzz

どうぞ笑ってください。
これでも頑張ったんです。褒めて

模範解答のコードは3日目の方にでも貼ります。