aboutsummaryrefslogtreecommitdiff
path: root/2020/16/puzzle-1.py
diff options
context:
space:
mode:
Diffstat (limited to '2020/16/puzzle-1.py')
-rwxr-xr-x2020/16/puzzle-1.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/2020/16/puzzle-1.py b/2020/16/puzzle-1.py
new file mode 100755
index 0000000..f4343c8
--- /dev/null
+++ b/2020/16/puzzle-1.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python3
+
+
+def main() -> None:
+ with open("input", "r") as f:
+ data = f.readlines()
+
+ i = 0
+ valid: list[int] = []
+ while data[i] != "\n":
+ ranges = data[i].split(": ")[1].split(" or ")
+ for _range in ranges:
+ bounds = tuple(map(int, _range.split("-")))
+ for j in range(bounds[0], bounds[1] + 1):
+ valid.append(j)
+ i += 1
+
+ # Skip to nearby tickets
+ i += 5
+ acc = 0
+
+ for j in range(i, len(data)):
+ fields = tuple(map(int, data[j].split(",")))
+ acc += sum(field for field in fields if field not in valid)
+
+ print(acc)
+
+
+if __name__ == "__main__":
+ main()