ライブコーディング大喜利

流れ

  1. 最初に司会者からそれぞれに名前と所属と意気込みを聞きます。
  2. 司会者がお題を提示 コーディング開始!
  3. 解答者手を挙げる
  4. 解答者へモニタを切り替える
  5. 解答者がコードを書く
  6. コードが動くことを確認 司会者が評価・解説
  7. 2へ戻る(数回繰り返す)

問題

問 1 ランダムソート

  • 1から10までの配列があります。
  • ランダムに並べ替えてください。

※ただし、Array#shuffle, Array#shuffle!, Array#sample は使用しないでください。

問 2 配列のソート問題

以下のようなに名前とそれぞれの項目の得点を記したCSVファイルがあります。
rubyの得点を基準に降順に並べ替え、名前とrubyの数字を出力しなさい。
また、平均点を計算し降順に並べ替え、名前と平均点を出力しなさい。
(平均点が同じ場合はrubyの点数が高い方を先に表示すること)

http://www.tm-21.co.jp/rubykaigi/ruby_1.csv

問 3 スクレイピング

以下のアドレスにアクセスしてください。

http://www.tm-21.co.jp/rubykaigi/ruby_1.html

一見、みんなRubyに見えますが、実は仲間はずれがいます!
上記アドレスをRubyを使用して読込み、仲間はずれをさがしてください。
仲間はずれの理由と何番目のRubyかを出力してください。
※仲間はずれの理由に特に正解はありません。自由に考えてOKです。

問 4 確率の問題

0回から13回までのいずれかの回数だけトランプのカードを引けます。
引いたカードが、すべてスペードのカードである場合の確率を返すプログラムを作成してください。

以下は、トランプの内容です。

トランプの枚数は、52枚です。
トランプの絵柄は、「スペード、クローバー、ハート、ダイヤ」の4つです。
絵柄ごとにカードは、13枚あります。
カードの種類は、「A 2 3 4 5 6 7 8 9 10 J Q K」の13種類です。