-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDay3.py
More file actions
31 lines (25 loc) · 816 Bytes
/
Day3.py
File metadata and controls
31 lines (25 loc) · 816 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
with open('Day3.in', 'r') as f:
data = f.readlines()
data = [line.strip() for line in data]
def valid_triangle(triangle):
a = triangle[0] + triangle[1] > triangle[2]
b = triangle[1] + triangle[2] > triangle[0]
c = triangle[0] + triangle[2] > triangle[1]
return a and b and c
valid_rows = 0
valid_columns = 0
triangles = [[], [], []]
for line in data:
sides = [float(side.strip()) for side in line.split()]
# part 2
for i in range(3):
triangles[i].append(sides[i])
if len(triangles[i]) % 3 == 0:
if valid_triangle(triangles[i]):
valid_columns += 1
triangles[i] = []
# Part 1
if valid_triangle(sides):
valid_rows += 1
print("Valid by rows: %d" % valid_rows)
print("Valid by columns: %d" % valid_columns)