From 53abaa4d016ae950eeaa4b6246b7e5fbe41d0e82 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Sat, 4 Dec 2021 19:57:36 +0100 Subject: [PATCH] Day 03 (minified) --- day02/part2.min.py | 1 + day03/part1.min.py | 2 ++ day03/part2.min.py | 2 ++ 3 files changed, 5 insertions(+) create mode 100644 day03/part1.min.py create mode 100644 day03/part2.min.py diff --git a/day02/part2.min.py b/day02/part2.min.py index 03e62d8..4926cf1 100644 --- a/day02/part2.min.py +++ b/day02/part2.min.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 h,d,a=0,0,0 for c,s in(x.strip().split()for x in open("input.txt")):v=int(s);h,d,a=(h+v,d+a*v,a)if c[0]=='f'else(h,d,a+(-v if c=='up'else v)) print(h*d) diff --git a/day03/part1.min.py b/day03/part1.min.py new file mode 100644 index 0000000..7302d6b --- /dev/null +++ b/day03/part1.min.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python3 +from collections import Counter as o;g=int("".join((o(c).most_common(1)[0][0]for c in zip(*(x.strip()for x in open("input.txt"))))),2);print(g*(2**12-1^g)) diff --git a/day03/part2.min.py b/day03/part2.min.py new file mode 100644 index 0000000..3e658a3 --- /dev/null +++ b/day03/part2.min.py @@ -0,0 +1,2 @@ +#!/usr/bin/env python3 +import collections as c;n=lambda w:(f:=lambda i,l:int(''.join(l),2) if i>11else f(i+1,[s for s in l if s[i]==(max if w else min)(map(lambda x:x[::-1],c.Counter(s[i] for s in l).items()))[1]]))(0,[x.strip()for x in open("input.txt")]);print(n(0)*n(1))