From 68d1803e8fb3b8c265ef20757ea5a3c142919e24 Mon Sep 17 00:00:00 2001 From: Kharec Date: Sun, 21 Dec 2025 09:26:50 +0100 Subject: [PATCH] feat: solve part two --- internal/2022/DayFour/code.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/internal/2022/DayFour/code.go b/internal/2022/DayFour/code.go index 1aa4ac5..63424a3 100644 --- a/internal/2022/DayFour/code.go +++ b/internal/2022/DayFour/code.go @@ -27,6 +27,7 @@ func PartOne(data []string) int { minStart := min(firstRangeStart, secondRangeStart) maxEnd := max(firstRangeEnd, secondRangeEnd) + if (minStart == firstRangeStart && maxEnd == firstRangeEnd) || (minStart == secondRangeStart && maxEnd == secondRangeEnd) { count++ } @@ -36,5 +37,18 @@ func PartOne(data []string) int { } func PartTwo(data []string) int { - return 0 + count := 0 + for _, line := range data { + parts := strings.Split(line, ",") + + var firstRangeStart, firstRangeEnd, secondRangeStart, secondRangeEnd int + fmt.Sscanf(parts[0], "%d-%d", &firstRangeStart, &firstRangeEnd) + fmt.Sscanf(parts[1], "%d-%d", &secondRangeStart, &secondRangeEnd) + + if firstRangeStart <= secondRangeEnd && secondRangeStart <= firstRangeEnd { + count++ + } + } + + return count }