47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
def task1():
|
|
with open(f'input/camp_cleanup.txt', 'r') as input:
|
|
sanitized_input = [x.replace('\n', '') for x in input.readlines()]
|
|
sum = 0
|
|
for pair in sanitized_input:
|
|
first_elve, second_elve = pair.split(',')
|
|
lower_first_elve, upper_first_elve = first_elve.split('-')
|
|
lower_second_elve, upper_second_elve = second_elve.split('-')
|
|
|
|
#first in second
|
|
if (int(lower_first_elve) >= int(lower_second_elve) and int(upper_first_elve) <= int(upper_second_elve)):
|
|
sum +=1
|
|
|
|
#second in first
|
|
elif (int(lower_first_elve) <= int(lower_second_elve) and int(upper_first_elve) >= int(upper_second_elve)):
|
|
sum += 1
|
|
|
|
print(sum)
|
|
|
|
def overlap(start1, end1, start2, end2):
|
|
return (
|
|
start1 <= start2 <= end1 or
|
|
start1 <= end2 <= end1 or
|
|
start2 <= start1 <= end2 or
|
|
start2 <= end1 <= end2
|
|
)
|
|
|
|
def task2():
|
|
with open(f'input/camp_cleanup2.txt', 'r') as input:
|
|
sanitized_input = [x.replace('\n', '') for x in input.readlines()]
|
|
sum = 0
|
|
for pair in sanitized_input:
|
|
first_elve, second_elve = pair.split(',')
|
|
lower_first_elve, upper_first_elve = first_elve.split('-')
|
|
lower_second_elve, upper_second_elve = second_elve.split('-')
|
|
|
|
first_elve = range(int(lower_first_elve), int(upper_first_elve))
|
|
second_elve = range(int(lower_second_elve), int(upper_second_elve))
|
|
|
|
if(overlap(int(lower_first_elve), int(upper_first_elve), int(lower_second_elve), int(upper_second_elve))):
|
|
sum +=1
|
|
|
|
|
|
print(sum)
|
|
|
|
task1()
|
|
task2() |