From 4a20d4ac12226ffce02684506b23b38c1a365ba8 Mon Sep 17 00:00:00 2001 From: Davide Oddone Date: Mon, 4 Dec 2023 13:49:18 +0000 Subject: [PATCH] Optimized my code by 140300% just by doing things correctly --- day04/scratchcards.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/day04/scratchcards.go b/day04/scratchcards.go index fabc6c7..2f299bb 100644 --- a/day04/scratchcards.go +++ b/day04/scratchcards.go @@ -51,8 +51,11 @@ func CalcTickets(s []string, index int, tpr []int ) { myNumbers, winningNumbers := SplitSets(s) matches := FindMatches(myNumbers, winningNumbers) if (matches > 0) { - for i := index; i < index + matches; i++ { - tpr[i+1] += 1 + for j := 0; j < tpr[index]; j++ { + for i := index; i < index + matches; i++ { + tpr[i+1] += 1 + } + } } } @@ -100,9 +103,7 @@ func main() { // We don't need this information (yet?) allNumbers := strings.Split(cardAndNumbers[1], "|") CalcScore(allNumbers, totalPoint) - for j := 0; j < ticketsPerRow[i]; j++ { - CalcTickets(allNumbers, i, tprPoint) - } + CalcTickets(allNumbers, i, tprPoint) } numTickets := 0