File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ import os
2
+ import string
3
+
4
+
5
+ def part1 (lines ):
6
+ prio_sum = 0
7
+ for line in lines :
8
+ items = [c for c in line if c != '\n ' ]
9
+ rucksack = {
10
+ 'left' : items [0 :int (len (line ) / 2 )],
11
+ 'right' : items [int (len (line )/ 2 ):len (line )]
12
+ }
13
+
14
+ duplicate = None
15
+
16
+ for il in rucksack ['left' ]:
17
+ if il in rucksack ['right' ] and not duplicate :
18
+ duplicate = il
19
+ prio_sum += string .ascii_letters .index (duplicate ) + 1
20
+ return prio_sum
21
+
22
+
23
+ def part2 (lines ):
24
+ prio_sum = 0
25
+ for i in range (0 , len (lines ), 3 ):
26
+ groups = [g .replace ('\n ' , '' ) for g in lines [i : i + 3 ]]
27
+
28
+ badge = set (groups [0 ]).intersection (groups [1 ], groups [2 ]).pop ()
29
+
30
+ prio_sum += string .ascii_letters .index (badge ) + 1
31
+
32
+ return prio_sum
33
+
34
+
35
+
36
+ dirname = os .path .dirname (__file__ )
37
+ filename = os .path .join (dirname , '../input.txt' )
38
+ with open (filename ) as f :
39
+ lines = f .readlines ()
40
+
41
+ print (part1 (lines ))
42
+ print (part2 (lines ))
You can’t perform that action at this time.
0 commit comments