RosettaCodeData/Task/Averages-Mode/Clojure/averages-mode-1.clj

7 lines
288 B
Clojure

(defn modes [coll]
(let [distrib (frequencies coll)
[value freq] [first second] ; name the key/value pairs in the distrib (map) entries
sorted (sort-by (comp - freq) distrib)
maxfq (freq (first sorted))]
(map value (take-while #(= maxfq (freq %)) sorted))))