rubyで配列の中の重複した値を取り出し、並び替える方法


rubyで配列の中の重複した値を取り出し、  
重複してる数が多い順に並び替えて配列として出力するにはどうしたらよいでしょうか。

`[1,2,3,4,5,6,7,8,9, 1,3,5,7,9, 1,3,5,7, 1,3,5, 1,3, 1]`  
↓  
`[1,3,5,7,9]`




Ruby2.7 の`tally`を使ってみました。

[code]

    arr = [1,2,3,4,5,6,7,8,9, 1,3,5,7,9, 1,3,5,7, 1,3,5, 1,3, 1]
    arr.tally.sort_by{|_,v| -v}.select{|i| i[1] > 1}.map(&:first)
    
[/code]

=> [1, 3, 5, 7, 9]

