43 lines
785 B
Python
43 lines
785 B
Python
def binary(str):
|
|
return int('0b' + str, 2)
|
|
|
|
|
|
def getSeatID(boarding_pass):
|
|
row = binary(boarding_pass.replace('F', '0').replace('B', '1')[0:7])
|
|
column = binary(boarding_pass.replace('L', '0').replace('R', '1')[7:10])
|
|
|
|
return (row * 8) + column
|
|
|
|
|
|
def part1():
|
|
file = open("input.txt")
|
|
|
|
IDs = []
|
|
for line in file:
|
|
IDs.append(getSeatID(line))
|
|
|
|
IDs.sort()
|
|
highest = max(IDs)
|
|
|
|
print("Part 1: %d" % highest)
|
|
|
|
|
|
def part2():
|
|
file = open("input.txt")
|
|
IDs = []
|
|
for line in file:
|
|
IDs.append(getSeatID(line))
|
|
|
|
IDs.sort()
|
|
|
|
for h in range(1, len(IDs) - 1):
|
|
val = IDs[h]
|
|
l = IDs[h - 1]
|
|
|
|
if l + 1 != val:
|
|
print("Part 2: %d" % (val - 1))
|
|
|
|
if __name__ == "__main__":
|
|
part1()
|
|
part2()
|