aoc2021/d3golf.hs
2021-12-03 21:36:06 +01:00

10 lines
No EOL
293 B
Haskell

import Data.List
e=transpose
h=head
m=map
l=length
d=foldr(\x y->2*y+x)0.reverse
c q=h.q.sortBy((.l).compare.l).group.sort
f%xs|xs==[[]]=[]|i<-c f$h$e xs=i:f%m tail((filter.(.h).(==))i xs)
t x=d(last%x)*d(h%x)
main=interact$show.((,).t<*>((*)<*>(-)4095).d.m(c h).e).m(m((-48+).fromEnum)).lines