RosettaCodeData/Task/Averages-Mode/EchoLisp/averages-mode.echolisp
2016-12-05 23:44:36 +01:00

16 lines
487 B
Text

(define (modes L)
(define G (group* L)) ;; sorts and group equal items
(define cardmax (for/max [(g G)] (length g)))
(map first (filter (lambda(g) (= cardmax (length g))) G)))
(modes '( a b c a d e f))
→ (a)
(modes (iota 6))
→ (0 1 2 3 4 5)
(modes '(x))
→ (x)
(modes '(🎾 🏉 ☕️ 🎾 🎲 🎯 🎺 ☕️ 🎲 🎸 🎻 🏆 ☕️ 🏁 🎾 🎲 🎻 🏉 ))
→ (🎾 ☕️ 🎲)
(modes '())
😖️ error: group : expected list : null 🔎 'modes'