Rubyです。
配列でもっとも数の多い要素を取得する方法について、調べてみました。
どうやら、max_byを使うのがよさそう。
こんな感じ。
gist119ad15321cd485f62dcbe768c36d810
配列に対して、max_by関数を用いて、そのブロック内でcount関数を使っています。
ただ、参考にした上記のブログポストでは、最多が複数ある場合は未考慮です。
max_byを使うと、最多要素のうち最初のものを返してしまうので、工夫が必要そう。
gistec04eb13b98e01fe6b2f34d9b0a645dd
一応出来ました。
まず、最多要素は配列の中でいくつの要素を持つのかを数えます。
そして、その数と等しい要素数の要素から為る配列を作成します。
うーん、なんか冗長っぽい。もっと良い方法がありそうです。