You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
900 B
Python
37 lines
900 B
Python
import aocd
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
puzzle_input = aocd.get_data(day=4, year=2022)
|
|
|
|
pairs = puzzle_input.split('\n')
|
|
pair_number = 0
|
|
contained = 0
|
|
overlap = 0
|
|
|
|
for pair in pairs:
|
|
pair = list(map(int, pair.replace(',','-').split('-')))
|
|
# Contained
|
|
if pair[0] <= pair[2] <= pair[3] <= pair[1]:
|
|
contained = contained + 1
|
|
elif pair[2] <= pair[0] <= pair[1] <= pair[3]:
|
|
contained = contained + 1
|
|
else:
|
|
pass
|
|
# Overlapping
|
|
if pair[0] <= pair[2] <= pair[1]:
|
|
overlap = overlap + 1
|
|
elif pair[0] <= pair[3] <= pair[1]:
|
|
overlap = overlap + 1
|
|
elif pair[2] <= pair[0] <= pair[3]:
|
|
overlap = overlap + 1
|
|
elif pair[2] <= pair[1] <= pair[3]:
|
|
overlap = overlap + 1
|
|
else:
|
|
pass
|
|
|
|
print(f'{contained} of the elves\' tasks are contained by others.')
|
|
print(f'{overlap} of the tasks overlap.')
|
|
|
|
|