57 lines
785 B
Go
57 lines
785 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"strings"
|
|
|
|
"git.z1glr.de/advent-of-code-2025/pkg/aoc"
|
|
)
|
|
|
|
type Range struct {
|
|
From, To int
|
|
}
|
|
|
|
func parseRange(r string) Range {
|
|
parts := strings.Split(r, "-")
|
|
|
|
var err error
|
|
rng := Range{}
|
|
|
|
if rng.From, err = strconv.Atoi(parts[0]); err != nil {
|
|
panic(err)
|
|
}
|
|
if rng.To, err = strconv.Atoi(parts[1]); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
return rng
|
|
}
|
|
|
|
func main() {
|
|
rows := aoc.ReadFileRows(true)
|
|
|
|
fmt.Println(rows)
|
|
|
|
ranges := []Range{}
|
|
|
|
var idsStartIndex int
|
|
|
|
for ii, rr := range rows {
|
|
if rr == "" {
|
|
idsStartIndex = ii + 1
|
|
break
|
|
} else {
|
|
ranges = append(ranges, parseRange(rr))
|
|
}
|
|
}
|
|
|
|
ids := make([]int, len(rows)-idsStartIndex)
|
|
|
|
for ii, rr := range rows[idsStartIndex:] {
|
|
}
|
|
|
|
fmt.Println(ranges)
|
|
fmt.Println(ids)
|
|
}
|