diff --git a/2024-python/output/day_25.py b/2024-python/output/day_25.py new file mode 100644 index 0000000..c3e53fa --- /dev/null +++ b/2024-python/output/day_25.py @@ -0,0 +1,32 @@ +from collections import Counter + + +def solve(data): + grids = [ + (m.strip()[0], list(map(Counter, zip(*m.split())))) for m in data.split("\n\n") + ] + locks = [] + keys = [] + for kind, grid in grids: + match kind: + case "#": + locks.append(tuple(str(g[kind] - 1) for g in grid)) + case ".": + keys.append(tuple(str(7 - g[kind] - 1) for g in grid)) + p1 = sum( + all(int(lock[i]) + int(k[i]) <= 5 for i in range(5)) + for lock in locks + for k in keys + ) + p2 = "God jul!" + return p1, p2 + + +if __name__ == "__main__": + with open("./input/25.txt", "r") as f: + inp = f.read().strip() + + p1, p2 = solve(inp) + + print(p1) + print(p2)