Skip to content

Commit f625b9b

Browse files
committed
Add solution to 2024-12-02
1 parent 4ce62ac commit f625b9b

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

2024/day02/solutions.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import re
2+
3+
with open("input") as f:
4+
ls = f.read().strip().split("\n")
5+
6+
ns = [list(map(int, re.findall("\\d+", x))) for x in ls]
7+
8+
9+
def safe1(levels):
10+
return all(1 <= abs(n1 - n2) <= 3 for n1, n2 in zip(levels, levels[1:])) and (
11+
levels == sorted(levels) or levels == sorted(levels)[::-1]
12+
)
13+
14+
15+
def safe2(levels):
16+
return any(safe1(levels[:i] + levels[i + 1 :]) for i in range(len(levels)))
17+
18+
19+
# Part 1
20+
print(sum(safe1(levels) for levels in ns))
21+
22+
# Part 2
23+
print(sum(safe2(levels) for levels in ns))

0 commit comments

Comments
 (0)