30 lines
833 B
Python
30 lines
833 B
Python
![]() |
#!/usr/bin/env python
|
||
|
|
||
|
def read_input(filename):
|
||
|
with open(filename) as f:
|
||
|
for line in f:
|
||
|
line = line.strip()
|
||
|
yield line.split(" ")
|
||
|
|
||
|
def main(args):
|
||
|
safe_count = 0
|
||
|
for levels in read_input("input.txt"):
|
||
|
tmp = [ (int(levels[i-1]) - int(levels[i])) for i in range(1,len(levels))]
|
||
|
tmp2 = [ abs(x) for x in tmp]
|
||
|
if (abs(sum(tmp)) != sum(tmp2)):
|
||
|
continue
|
||
|
tmp3 = [x for x in tmp2 if x in [1,2,3]]
|
||
|
if len(tmp3) != len(tmp2):
|
||
|
continue
|
||
|
safe_count += 1
|
||
|
print(safe_count)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
import argparse
|
||
|
|
||
|
parser = argparse.ArgumentParser(
|
||
|
prog='AdventOfCode 2024, Day 02, part 1',
|
||
|
)
|
||
|
parser.add_argument('-f', '--file', required=True)
|
||
|
args = parser.parse_args()
|
||
|
main(args)
|