aoc2021/d10golf.hs
2021-12-10 17:15:04 +01:00

8 lines
No EOL
304 B
Haskell

import Data.List
e=fromEnum
n%(h:t)|h`elem`"([{<"=(h:n)%t|i:s<-n,abs(e h-e i)<3=s%t|let=(0,a[h])
n%_=(foldl((.b).(+).(5*))0 n,0)
a")"=3;a"]"=57;a"}"=1197;a">"=25137;a _=0
b '('=1;b '['=2;b '{'=3;b _=4
m l=l!!(length l`div`2)
main=interact$show.((,).m.filter(>0).sort.map fst<*>sum.map snd).map(""%).lines