diff options
author | Botond Hende <nettingman@gmail.com> | 2024-12-03 21:21:47 +0100 |
---|---|---|
committer | Botond Hende <nettingman@gmail.com> | 2024-12-03 21:21:47 +0100 |
commit | 755d3322abe7d94ae87e5624bb1aed85bfb30bc3 (patch) | |
tree | ea8a7afe1071167a17e3d63f574dad662abcedf1 /2024/day2/solve.py | |
parent | 873d769509c56ddbe84616d9411efc51ef0b4fd3 (diff) |
2024 day2-3, 2023 day3 2nd
Diffstat (limited to '2024/day2/solve.py')
-rw-r--r-- | 2024/day2/solve.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/2024/day2/solve.py b/2024/day2/solve.py new file mode 100644 index 0000000..3ec9967 --- /dev/null +++ b/2024/day2/solve.py @@ -0,0 +1,31 @@ +safe = unsafe = 0
+
+
+def is_safe(report: str) -> bool:
+ last_num = 0
+ increase = True
+ for ii, num in enumerate((int(elem) for elem in report.split())):
+ if ii != 0:
+ if ii == 1:
+ increase = num > last_num
+
+ if (num > last_num) != increase:
+ return False
+
+ diff = abs(num - last_num)
+ if diff < 1 or diff > 3:
+ return False
+
+ last_num = num
+
+ return True
+
+
+with open("input") as f:
+ for report in f.readlines():
+ if is_safe(report):
+ safe += 1
+ else:
+ unsafe += 1
+
+print(f"safe: {safe}\nunsafe: {unsafe}")
|