summaryrefslogtreecommitdiff
path: root/day5/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'day5/main.py')
-rw-r--r--day5/main.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/day5/main.py b/day5/main.py
new file mode 100644
index 0000000..b544b61
--- /dev/null
+++ b/day5/main.py
@@ -0,0 +1,18 @@
+"""Peter Norvig solution. Forgot to do day 5."""
+data = map(str.strip, open("input"))
+
+ID = int
+
+def seat_id(seat: str, table=str.maketrans('FLBR', '0011')) -> ID:
+ "Treat a seat description as a binary number; convert to int."
+ return ID(seat.translate(table), base=2)
+
+
+ids = [seat_id(x) for x in data]
+
+# Part 1
+print(max(ids))
+
+# Part 2
+[missing] = set(range(min(ids), max(ids))) - set(ids)
+print(missing)