master
Raw Download raw file
 1import pprint
 2import re
 3
 4def read_input():
 5    with open("input/d05p1.txt") as f:
 6        return f.readlines()
 7
 8def parse(line):
 9    line = line.strip()
10    row = int(line[:7].replace("B","1").replace("F","0"),2)
11    seat = int(line[7:].replace("R","1").replace("L","0"),2)
12    return (row * 8 ) + seat
13
14input_lines = read_input()
15seat_ids = set(parse(line) for line in input_lines)
16
17print("p1:", max(seat_ids))
18missing_seats = set(range(min(seat_ids),max(seat_ids))) - seat_ids
19print("p2:", list(missing_seats)[0])