2024 Day 2
This commit is contained in:
18
2024/Day-02/day02-1.py
Executable file
18
2024/Day-02/day02-1.py
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
safe = 0
|
||||||
|
with open('input.txt', 'r') as input_file:
|
||||||
|
for line in input_file:
|
||||||
|
data = [int(x) for x in line.strip().split()]
|
||||||
|
diffs = []
|
||||||
|
for i in range(len(data)):
|
||||||
|
if i == 0:
|
||||||
|
diffs.append(0)
|
||||||
|
else:
|
||||||
|
diffs.append(data[i] - data[i-1])
|
||||||
|
if all(i>0 for i in diffs[1:]) or all(i<0 for i in diffs[1:]):
|
||||||
|
abs_diffs = [abs(x) for x in diffs[1:]]
|
||||||
|
if not(any(i<1 for i in abs_diffs) or any(i>3 for i in abs_diffs)):
|
||||||
|
safe += 1
|
||||||
|
print(safe)
|
33
2024/Day-02/day02-2.py
Executable file
33
2024/Day-02/day02-2.py
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
from copy import copy
|
||||||
|
|
||||||
|
def is_safe(seq: list) -> bool:
|
||||||
|
diffs = []
|
||||||
|
for i in range(len(seq)):
|
||||||
|
if i == 0:
|
||||||
|
diffs.append(0)
|
||||||
|
else:
|
||||||
|
diffs.append(seq[i] - seq[i-1])
|
||||||
|
if all(i>0 for i in diffs[1:]) or all(i<0 for i in diffs[1:]):
|
||||||
|
abs_diffs = [abs(x) for x in diffs[1:]]
|
||||||
|
if not(any(i<1 for i in abs_diffs) or any(i>3 for i in abs_diffs)):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
safe = 0
|
||||||
|
with open('input.txt', 'r') as input_file:
|
||||||
|
for line in input_file:
|
||||||
|
data = [int(x) for x in line.strip().split()]
|
||||||
|
if is_safe(data):
|
||||||
|
safe += 1
|
||||||
|
else:
|
||||||
|
for i in range(len(data)):
|
||||||
|
tmp_data = copy(data)
|
||||||
|
tmp_data.pop(i)
|
||||||
|
if is_safe(tmp_data):
|
||||||
|
safe+=1
|
||||||
|
break
|
||||||
|
|
||||||
|
print(safe)
|
Reference in New Issue
Block a user