LoginSignup
0
0

More than 5 years have passed since last update.

rubyの問題

Last updated at Posted at 2014-12-19

問 1 ランダムソート

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

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

shuffle.rb
def f
  a = (1..10).to_a
  # -- ここにコードを記述してください。 --
end

# 三回出力してそれぞれランダムに並び替えられていることを確認します。
f
f
f

問 2 配列のソート問題

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

ruby_1.csv
name,ruby,php,python,perl
一郎,100,40,70,80
二郎,60,90,80,10
三郎,90,60,60,60
四郎,80,70,70,80
sort.rb
require 'open-uri'
require 'csv'

# csvファイル取得先URL
url = 'http://www.tm-21.co.jp/rubykaigi/ruby_1.csv'

# -- ここにコードを記述してください。 --

# -- ここに出力をしてください。 --

問 3 スクレイピング

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

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

scraping.rb
require 'open-uri'

# スクレイピング先のURL
url = 'http://www.tm-21.co.jp/rubykaigi/ruby_1.html'

# -- ここにコードを記述してください。 --

# -- ここに出力をしてください。 --

問 4 確率の問題

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

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0