From 34be9e08478964ec47734ce58b730a05a9082735 Mon Sep 17 00:00:00 2001 From: Kharec Date: Sat, 20 Dec 2025 09:25:03 +0100 Subject: [PATCH] feat: solve part two using exhaustive search --- internal/2018/DayFive/code.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/internal/2018/DayFive/code.go b/internal/2018/DayFive/code.go index f2fd09b..6b922d8 100644 --- a/internal/2018/DayFive/code.go +++ b/internal/2018/DayFive/code.go @@ -41,5 +41,24 @@ func PartOne(data string) int { } func PartTwo(data string) int { - return 0 + unitTypes := make(map[rune]bool) + for _, char := range data { + unitTypes[unicode.ToLower(char)] = true + } + + shortestPolymerLength := len(data) + for unitType := range unitTypes { + filtered := make([]rune, 0, len(data)) + for _, char := range data { + if unicode.ToLower(char) != unitType { + filtered = append(filtered, char) + } + } + length := reactPolymer(string(filtered)) + if length < shortestPolymerLength { + shortestPolymerLength = length + } + } + + return shortestPolymerLength }