advent24-llm / day02 /solution_gpt-4o.py
jerpint's picture
Add solution files
a4da721
raw
history blame
1.17 kB
def is_safe(report):
increasing = True
decreasing = True
for i in range(len(report) - 1):
diff = report[i+1] - report[i]
if not (1 <= abs(diff) <= 3):
return False
if diff > 0:
decreasing = False
if diff < 0:
increasing = False
return increasing or decreasing
def is_safe_with_removal(report):
if is_safe(report):
return True
for i in range(len(report)):
modified_report = report[:i] + report[i+1:]
if is_safe(modified_report):
return True
return False
def count_safe_reports(file_path, part_two=False):
with open(file_path, 'r') as file:
reports = [list(map(int, line.split())) for line in file]
safe_count = 0
for report in reports:
if part_two:
if is_safe_with_removal(report):
safe_count += 1
else:
if is_safe(report):
safe_count += 1
return safe_count
file = "input.txt"
# Part One
result1 = count_safe_reports(file, part_two=False)
print(result1)
# Part Two
result2 = count_safe_reports(file, part_two=True)
print(result2)