summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Kramkowski <tk@the-tk.com>2021-12-08 14:42:47 +0000
committerTomasz Kramkowski <tk@the-tk.com>2021-12-08 14:42:47 +0000
commit49872237e7f8a9b06986a73b3dacbf02041e7b33 (patch)
tree9c3397d0c4f6abe26ba166e700e384e4d9152d0f
parent3b35e9173e43462196629d6f84dc47da78646c62 (diff)
downloadaoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.tar.gz
aoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.tar.xz
aoc2021-49872237e7f8a9b06986a73b3dacbf02041e7b33.zip
day 8: cleaner
-rw-r--r--8.py29
1 files changed, 11 insertions, 18 deletions
diff --git a/8.py b/8.py
index 609d09f..1a55334 100644
--- a/8.py
+++ b/8.py
@@ -1,30 +1,23 @@
from collections import Counter
from itertools import chain
from utils import open_day
-from enum import IntEnum, auto
+from enum import IntEnum
fset = frozenset
-class Seg(IntEnum):
- A = 0
- B = auto()
- C = auto()
- D = auto()
- E = auto()
- F = auto()
- G = auto()
+Seg = IntEnum('Seg', [(n, str(i)) for i, n in enumerate('ABCDEFG')])
dig = [
- fset((Seg.A, Seg.B, Seg.C, Seg.E, Seg.F, Seg.G)),
- fset((Seg.C, Seg.F)),
- fset((Seg.A, Seg.C, Seg.D, Seg.E, Seg.G)),
- fset((Seg.A, Seg.C, Seg.D, Seg.F, Seg.G)),
- fset((Seg.B, Seg.C, Seg.D, Seg.F)),
- fset((Seg.A, Seg.B, Seg.D, Seg.F, Seg.G)),
- fset((Seg.A, Seg.B, Seg.D, Seg.E, Seg.F, Seg.G)),
- fset((Seg.A, Seg.C, Seg.F)),
+ fset((Seg.A, Seg.B, Seg.C, Seg.E, Seg.F, Seg.G)),
+ fset(( Seg.C, Seg.F )),
+ fset((Seg.A, Seg.C, Seg.D, Seg.E, Seg.G)),
+ fset((Seg.A, Seg.C, Seg.D, Seg.F, Seg.G)),
+ fset(( Seg.B, Seg.C, Seg.D, Seg.F )),
+ fset((Seg.A, Seg.B, Seg.D, Seg.F, Seg.G)),
+ fset((Seg.A, Seg.B, Seg.D, Seg.E, Seg.F, Seg.G)),
+ fset((Seg.A, Seg.C, Seg.F )),
fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.E, Seg.F, Seg.G)),
- fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.F, Seg.G)),
+ fset((Seg.A, Seg.B, Seg.C, Seg.D, Seg.F, Seg.G)),
]
seg = [ fset(i for i in range(10) if seg in dig[i]) for seg in Seg ]