working on day 06

This commit is contained in:
Simon Ziegler
2025-12-08 17:53:45 +01:00
parent 0cb6eea26c
commit 0cf3fb738c
4 changed files with 87 additions and 1 deletions

77
06/main.go Normal file
View File

@@ -0,0 +1,77 @@
package main
import (
"fmt"
"strings"
"git.z1glr.de/advent-of-code-2025/pkg/aoc"
)
func do(test bool) int {
inputRows := aoc.ReadFileRows(test)
operators := strings.Fields(inputRows[len(inputRows)-1])
tdNumberStrings := make([]byte, len(inputRows[0]))
numbers := make([][]int, len(inputRows)-1)
for ii, row := range inputRows[:len(inputRows)-1] {
numberStrings := strings.Fields(row)
numbers[ii] = make([]int, len(numberStrings))
for jj, number := range numberStrings {
numbers[ii][jj] = aoc.ParseInt(number)
}
}
for ii := range len(inputRows[0]) {
for jj := 0; jj < len(inputRows)-1; jj++ {
tdNumberStrings[ii] = inputRows[ii][jj]
}
}
tdNumbers := make([][]int, len(operators))
currentOperation := 0
for _, number := range tdNumberStrings {
if strings.TrimSpace(string(number)) == "" {
currentOperation++
} else {
tdNumbers[currentOperation] = append(tdNumbers[currentOperation], aoc.ParseInt(string(number)))
}
}
grandSum := 0
grandSum2 := 0
for ii, operator := range operators {
switch operator {
case "+":
for jj := range len(numbers) {
grandSum += numbers[jj][ii]
grandSum2 += tdNumbers[jj][ii]
}
case "*":
columnResult := 1
columnResult2 := 1
for jj := range len(numbers) {
columnResult *= numbers[jj][ii]
columnResult2 *= tdNumbers[jj][ii]
}
grandSum += columnResult
grandSum2 += columnResult2
}
}
fmt.Println(grandSum)
fmt.Println(grandSum2)
return grandSum
}
func main() {
if do(true) == 4277556 {
do(false)
}
}