From 49872237e7f8a9b06986a73b3dacbf02041e7b33 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Wed, 8 Dec 2021 14:42:47 +0000 Subject: day 8: cleaner --- 8.py | 29 +++++++++++------------------ 1 file 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 ] -- cgit v1.2.3-54-g00ecf