-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathday1.py
More file actions
34 lines (25 loc) · 850 Bytes
/
day1.py
File metadata and controls
34 lines (25 loc) · 850 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
32
33
34
from utils import get_input_lines
def part1(left_list, right_list):
left_list.sort()
right_list.sort()
distances = [abs(left_list[i] - right_list[i]) for i in range(len(left_list))]
return sum(distances)
def part2(left_list, right_list):
right_list_dict = {}
for id in right_list:
if id not in right_list_dict:
right_list_dict[id] = 0
right_list_dict[id] += id
similarity_score = 0
for id in left_list:
if id in right_list_dict:
similarity_score += right_list_dict[id]
return similarity_score
input_lines = get_input_lines("inputs/day1.txt")
left_list = []
right_list = []
for line in input_lines:
left_list.append(int(line.split()[0]))
right_list.append(int(line.split()[1]))
print(part1(left_list, right_list))
print(part2(left_list, right_list))