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

7 lines
288 B
Clojure
Raw Permalink Normal View History

2013-04-10 15:42:53 -07:00
(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))))