File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-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
+ count = 0
7
+ for line in lines :
8
+ elves = line .split (',' )
9
+
10
+ elve1_range = elves [0 ].replace ('\n ' , '' ).split ('-' )
11
+ elve1 = set (range (int (elve1_range [0 ]), int (elve1_range [1 ]) + 1 ))
12
+
13
+ elve2_range = elves [1 ].replace ('\n ' , '' ).split ('-' )
14
+ elve2 = set (range (int (elve2_range [0 ]), int (elve2_range [1 ]) + 1 ))
15
+
16
+ diff = elve1 .intersection (elve2 )
17
+
18
+ if diff == elve1 or diff == elve2 :
19
+ count += 1
20
+
21
+ return count
22
+
23
+
24
+ def part2 (lines ):
25
+ count = 0
26
+ for line in lines :
27
+ elves = line .split (',' )
28
+
29
+ elve1_range = elves [0 ].replace ('\n ' , '' ).split ('-' )
30
+ elve1 = set (range (int (elve1_range [0 ]), int (elve1_range [1 ]) + 1 ))
31
+
32
+ elve2_range = elves [1 ].replace ('\n ' , '' ).split ('-' )
33
+ elve2 = set (range (int (elve2_range [0 ]), int (elve2_range [1 ]) + 1 ))
34
+
35
+ diff = elve1 .intersection (elve2 )
36
+
37
+ if len (diff ) > 0 :
38
+ count += 1
39
+
40
+ return count
41
+
42
+
43
+
44
+ dirname = os .path .dirname (__file__ )
45
+ filename = os .path .join (dirname , '../input.txt' )
46
+ with open (filename ) as f :
47
+ lines = f .readlines ()
48
+
49
+ print (part1 (lines ))
50
+ print (part2 (lines ))
You can’t perform that action at this time.
0 commit comments