Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- #Läs och rengör input
- with open("input.txt", "r") as f:
- lines = f.read().splitlines()
- g = {}
- id = 0
- falls = 0
- for line in sorted(lines):
- if "Guard" in line:
- id = int(re.findall("#(\d+)", line)[0])
- if id not in g:
- g[id] = [0] * 59
- continue
- mins = int(re.findall(":(\d+)\]", line)[0])
- if "falls asleep" in line:
- falls = mins
- else:
- for m in range(falls, mins):
- g[id][m] += 1
- #Del 1
- def p1(g):
- _, gID = max((sum(minss), gg) for (gg, minss) in g.items())
- _, cm = max((m, idx) for (idx, m) in enumerate(g[gID]))
- return gID * cm
- #Del 2
- def p2(g):
- _, cm, gID = max((mins, idx, gg) for (gg, minss) in g.items() for (idx, mins) in enumerate(minss))
- return gID * cm
- print(p1(g))
- print(p2(g))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement