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