summaryrefslogtreecommitdiff
path: root/2016/4a.py
diff options
context:
space:
mode:
Diffstat (limited to '2016/4a.py')
-rwxr-xr-x2016/4a.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/2016/4a.py b/2016/4a.py
new file mode 100755
index 0000000..e5dfe7f
--- /dev/null
+++ b/2016/4a.py
@@ -0,0 +1,5 @@
+#!/usr/bin/env python3
+
+import sys, re, functools
+
+print(functools.reduce(lambda a,t:a+int(t[1]),filter(lambda t:"".join(x[1] for x in sorted([(len(p[0]),p[1]) for p in re.findall(r"((.)\2*)","".join(sorted(t[0].replace("-",""))))],key=lambda t:(-t[0],t[1]))[:5])==t[2],[re.match(r"([-a-z]+)-(\d+)\[([a-z]+)\]",r).groups() for r in sys.stdin.read().split("\n")[:-1]]),0))