advent-of-code-2025/day-3/main.go

46 lines
689 B
Go

package main
import (
"fmt"
"os"
"strconv"
"strings"
)
func check(e error) {
if e != nil {
panic(e)
}
}
func parseInput() []string {
raw_data, err := os.ReadFile("input.txt")
check(err)
data := string(raw_data[:])
lines := strings.Split(strings.TrimSpace(data), "\n")
return lines
}
func part1() {
output := 0
for _, bank := range parseInput() {
max := 0
for i, n1 := range bank[:len(bank)-1] {
for _, n2 := range bank[i+1:] {
new_value, err := strconv.Atoi(string(n1) + string(n2))
check(err)
if new_value > max {
max = new_value
}
}
}
output = output + max
}
fmt.Println(output)
}
func main() {
fmt.Println("Part 1:")
part1()
}