commit 6fad1ecdde0cd28dcf7c98994b4dbd1709727a55 parent 5104f5b0d65bab5b35ee0dd800b0916b9a56e30a Author: Jake Bauer <jbauer@paritybit.ca> Date: Sun, 4 Dec 2022 15:41:07 -0500 Improved solution for Day 4 Diffstat:
M | day4/main.c | | | 25 | +++++-------------------- |
1 file changed, 5 insertions(+), 20 deletions(-)
diff --git a/day4/main.c b/day4/main.c @@ -45,30 +45,15 @@ main (void) splitString(ranges[0], '-', range1); splitString(ranges[1], '-', range2); - // Simple comparisons. I wonder if there's a mathematically - // clever way to solve this... + if (atoi(range1[0]) <= atoi(range2[1]) + && atoi(range1[1]) >= atoi(range2[0])) + overlaps++; if (atoi(range1[0]) >= atoi(range2[0]) - && atoi(range1[1]) <= atoi(range2[1])) - { + && atoi(range1[1]) <= atoi(range2[1])) fullOverlaps++; - overlaps++; - } else if (atoi(range1[0]) <= atoi(range2[0]) - && atoi(range1[1]) >= atoi(range2[1])) - { + && atoi(range1[1]) >= atoi(range2[1])) fullOverlaps++; - overlaps++; - } - else if (atoi(range1[0]) <= atoi(range2[1]) - && atoi(range1[1]) >= atoi(range2[0])) - { - overlaps++; - } - else if (atoi(range1[0]) >= atoi(range2[1]) - && atoi(range1[1]) <= atoi(range2[0])) - { - overlaps++; - } } free(line); if (ferror(fp))