File tree 3 files changed +1055
-0
lines changed
3 files changed +1055
-0
lines changed Original file line number Diff line number Diff line change
1
+ import bisect
2
+
3
+ def part1 ():
4
+ with open ("./input/1" , 'r' ) as f :
5
+ lines = f .readlines ()
6
+
7
+ left_list = []
8
+ right_list = []
9
+ for line in lines :
10
+ data = line .split ()
11
+ bisect .insort (left_list , int (data [0 ]))
12
+ bisect .insort (right_list , int (data [1 ]))
13
+
14
+ answer = 0
15
+ for left , right in zip (left_list , right_list ):
16
+ answer += abs (left - right )
17
+ print (answer )
18
+ return answer
19
+
20
+ def part2 ():
21
+ with open ("./input/1" , 'r' ) as f :
22
+ lines = f .readlines ()
23
+
24
+ left_dict = {}
25
+ right_dict = {}
26
+ for line in lines :
27
+ data = line .split ()
28
+ if data [0 ] in left_dict :
29
+ left_dict [data [0 ]] += 1
30
+ else :
31
+ left_dict [data [0 ]] = 1
32
+
33
+ if data [1 ] in right_dict :
34
+ right_dict [data [1 ]] += 1
35
+ else :
36
+ right_dict [data [1 ]] = 1
37
+
38
+ score = 0
39
+ for key in left_dict :
40
+ if key in right_dict :
41
+ data = int (key ) * left_dict [key ] * right_dict [key ]
42
+ score += data
43
+
44
+ print (score )
45
+
46
+ return
47
+
48
+ if __name__ == "__main__" :
49
+ part2 ()
You can’t perform that action at this time.
0 commit comments