From 5fd3f798105a79ba7cca16f017a5e28d381dc5a4 Mon Sep 17 00:00:00 2001 From: Colin Diem Date: Mon, 12 Dec 2022 20:56:19 -0500 Subject: [PATCH] day4 complete! --- day4/part2.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/day4/part2.py b/day4/part2.py index 2ffc18f..7830c46 100644 --- a/day4/part2.py +++ b/day4/part2.py @@ -1,4 +1,11 @@ -input = open("./test.txt", "r") +input = open("./input.txt", "r") + +def inRange(num, start, end): + if (num < start): + return False + if (num > end): + return False + return start <= num <= end total = 0 @@ -9,10 +16,19 @@ for line in input: elf1 = [int(elf1[0]), int(elf1[1])] elf2 = elves[1].split("-") elf2 = [int(elf2[0]), int(elf2[1])] - if (elf1[0] <= elf2[0] and elf1[1] >= elf2[1]): + elf2 = range(elf2[0], elf2[1] + 1) + elf1 = range(elf1[0], elf1[1] + 1) + elf1IsInElf2Range = False + elf2IsInElf1Range = False + for numbr in elf1: + if (inRange(numbr, elf2[0], elf2[len(elf2) - 1])): + elf1IsInElf2Range = True + break + for numbr in elf2: + if (inRange(numbr, elf1[0], elf1[len(elf1) - 1])): + elf2IsInElf1Range = True + break + if (elf2IsInElf1Range or elf1IsInElf2Range): total += 1 - elif (elf2[0] <= elf1[0] and elf2[1] >= elf1[1]): - total += 1 - elif(elf1[0] >= elf2[0] or elf) print(total) \ No newline at end of file