diff --git a/2022-python/output/day_03.py b/2022-python/output/day_03.py new file mode 100644 index 0000000..05a3011 --- /dev/null +++ b/2022-python/output/day_03.py @@ -0,0 +1,28 @@ +def solve(data): + rs = data.split() + p1 = sum(map(_p1, rs)) + p2 = sum(map(_p2, zip(rs[::3], rs[1::3], rs[2::3]))) + return p1, p2 + + +def _p1(rs): + c = (set(rs[: len(rs) // 2]) & set(rs[len(rs) // 2 :])).pop() + return ord(c) - 96 if c.islower() else ord(c) - 38 + + +def _p2(rsg): + c = (set(rsg[0]) & set(rsg[1]) & set(rsg[2])).pop() + return ord(c) - 96 if c.islower() else ord(c) - 38 + + +if __name__ == "__main__": + with open("./input/03.txt", "r") as f: + inp = f.read().strip() + + p1, p2 = solve(inp) + + print(p1) + print(p2) + + assert p1 == 7817 + assert p2 == 2444