added solutions for 3.2, 4.1, 4.2, 5.1 and 5.2

This commit is contained in:
2022-12-08 04:31:07 +01:00
parent 16721db1bd
commit 909b83978d
8 changed files with 3453 additions and 2 deletions

47
week4/camp_cleanup.py Normal file
View File

@@ -0,0 +1,47 @@
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()