Files
advent_of_code/2024/02/part 1 solution.py
T
Jake Pullen 8e2f448f8b day 2 done
2024-12-02 10:49:38 +00:00

56 lines
1.4 KiB
Python

with open(r'2024/02\input.txt', 'r') as file:
input = file.read()
test_input = '''7 6 4 2 1
1 2 7 8 9
9 7 6 2 1
1 3 2 4 5
8 6 4 4 1
1 3 6 7 9'''
# for each line we want to compare the current number to the next number
# if the number is between 1 and 3 difference it is valid
# we also need to know and store if it is ascending or descending
# because all numbers need to be ascending or descending and not mixed
# this will mean the line is valid
valid_list_count = 0
for line in input.split('\n'):
safe = False
line = line.split()
list_line = [int(i) for i in line]
# check all numbers in the line are ascending or descending
if list_line == sorted(list_line) or list_line == sorted(list_line, reverse=True):
#print(list_line, 'ascending or descending')
safe = True
print(list_line, 'steady')
else:
safe = False
print(list_line, 'unsteady')
continue
for i, num in enumerate(list_line):
if i == 0:
continue
check = abs(num - list_line[i-1])
if check >= 4 or check == 0:
#print(check)
safe = False
else:
#print(check)
safe = True
if not safe:
print(list_line, 'unsafe, big jumps')
break
if safe:
print(list_line, 'safe')
valid_list_count += 1
print(valid_list_count)
#print(valid_list_count)