added solutions for 3.2, 4.1, 4.2, 5.1 and 5.2
This commit is contained in:
47
week4/camp_cleanup.py
Normal file
47
week4/camp_cleanup.py
Normal 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()
|
||||
1000
week4/input/camp_cleanup.txt
Normal file
1000
week4/input/camp_cleanup.txt
Normal file
File diff suppressed because it is too large
Load Diff
1000
week4/input/camp_cleanup2.txt
Normal file
1000
week4/input/camp_cleanup2.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user