Files
AOC_2024/02b.py
2024-12-10 14:36:10 -06:00

26 lines
665 B
Python
Executable File

with open('02a.txt') as f:
text = f.read().strip()
def make_report(line):
return [int(x.strip()) for x in line.split()]
reports = [make_report(x) for x in text.split('\n')]
def test_report(report):
if len(report) == 1:
return True
dir = 1 if report[1] - report[0] > 0 else -1
for i in range(len(report)-1):
diff = (report[i+1] - report[i]) * dir
if diff < 1 or diff > 3:
return False
return True
def test_sub_reports(report):
for i in range(len(report)):
if test_report(report[:i] + report[i+1:]):
return True
return False
print(sum(test_sub_reports(x) for x in reports))