N = gets.chomp.to_i Ls = gets.chomp.split.map(&:to_i) # => [1, 2, 3, 4, 1,] counts = Ls.uniq.map{|item| [item, Ls.count(item)]}.to_h # => {1=>2, 2=>1, 3=>1, 4=>1} # 任意の値が2個以上あるか確認する values = counts.values # => [2, 1, 1, 1] 値のみを取り出す # 最も大きい値が配列の中に1つしかない場合、キーを参照しputする # 最もおきい値が2個以上の場合、あればキーを参照し、キーの数値が大きい方をputする if values.count(values.max) == 1 puts counts.key(values.max) else puts counts.select { |k,value| value == values.max }.keys.max end