day2
This commit is contained in:
parent
1db5c69980
commit
0cf8b0b8bf
1000
day2/input.txt
Normal file
1000
day2/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
39
day2/main.py
Normal file
39
day2/main.py
Normal file
@ -0,0 +1,39 @@
|
||||
safe_reports = 0
|
||||
with open("input.txt", "r") as file_input:
|
||||
for row in file_input:
|
||||
report = list(map(int, row.split(" ")))
|
||||
|
||||
increasing = None
|
||||
report_size = len(report)
|
||||
safe_count = 0
|
||||
|
||||
for i in range(report_size):
|
||||
if i == 0:
|
||||
continue
|
||||
|
||||
current_number = report[i]
|
||||
last_number = report[i-1]
|
||||
|
||||
difference = last_number - current_number
|
||||
|
||||
# Figure out if we're increasing or decreasing values in this row
|
||||
if increasing is None:
|
||||
if difference < 0 and (abs(difference) < 4):
|
||||
increasing = True
|
||||
elif difference > 0 and (abs(difference) < 4):
|
||||
increasing = False
|
||||
else:
|
||||
break
|
||||
# Once we figure it out just make sure we stay in our 3 pt range and don't
|
||||
# decrease if we're supposed to be increasing or vice versa
|
||||
elif increasing and (-4 < difference < 0):
|
||||
safe_count += 1
|
||||
elif not (increasing) and (0 < difference < 4):
|
||||
safe_count += 1
|
||||
else:
|
||||
break
|
||||
|
||||
if safe_count == (report_size - 2):
|
||||
safe_reports += 1
|
||||
|
||||
print(safe_reports)
|
||||
6
day2/test_input.txt
Normal file
6
day2/test_input.txt
Normal file
@ -0,0 +1,6 @@
|
||||
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
|
||||
Loading…
Reference in New Issue
Block a user