リスト中に登場する回数の多い要素トップ N を計算するとき、どんな風に書きますか? ランキングの集計 - まめめも via http://d.hatena.ne.jp/sumim/20070619/p2 たとえば、以下のように書きます。 ary = %w(foo bar foo baz foo bar qux foo bar qux quux) n = 3 count = Hash.new(0) ary.each do |e| count[e] += 1 end i = 1 count.keys.sort {|a, b| count[b] <=> count[a] }.first(n).each {|e| puts "#{i}位:" puts "- #{e}" i += 1 } 実行結果です。 1位: - foo 2位: - bar 3位: - quxと、ここまで書いてから、同数の取り扱い