40 lines
1.0 KiB
Python
Executable File
40 lines
1.0 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import re
|
|
import argparse
|
|
|
|
def load_file(filename):
|
|
with open(filename) as f:
|
|
data = f.readlines()
|
|
return data
|
|
|
|
def check_triangle(a, b, c):
|
|
if (a + b <= c):
|
|
return 0
|
|
if (b + c <= a):
|
|
return 0
|
|
if (c + a <= b):
|
|
return 0
|
|
return 1
|
|
|
|
def main(args):
|
|
TRIANGLE_GOOD = 0
|
|
data = load_file(args.input)
|
|
|
|
for x in range(0, len(data), 3):
|
|
t1 = re.split(r'\s{1,}', data[x].strip())
|
|
t2 = re.split(r'\s{1,}', data[x+1].strip())
|
|
t3 = re.split(r'\s{1,}', data[x+2].strip())
|
|
|
|
TRIANGLE_GOOD += check_triangle(int(t1[0]), int(t2[0]), int(t3[0]))
|
|
TRIANGLE_GOOD += check_triangle(int(t1[1]), int(t2[1]), int(t3[1]))
|
|
TRIANGLE_GOOD += check_triangle(int(t1[2]), int(t2[2]), int(t3[2]))
|
|
|
|
print(TRIANGLE_GOOD)
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description='AdventOfCode 2016 Day 01')
|
|
parser.add_argument('--input', '-i', action='store', required=True, help='input file')
|
|
args = parser.parse_args()
|
|
|
|
main(args)
|