This commit is contained in:
Simon Ziegler
2025-12-08 14:49:29 +01:00
parent c870a79ba3
commit 0cb6eea26c
2 changed files with 74 additions and 7 deletions

View File

@@ -29,9 +29,7 @@ func parseRange(r string) Range {
}
func main() {
rows := aoc.ReadFileRows(true)
fmt.Println(rows)
rows := aoc.ReadFileRows(false)
ranges := []Range{}
@@ -46,11 +44,69 @@ func main() {
}
}
ids := make([]int, len(rows)-idsStartIndex)
for {
deleteIndex := -1
for ii, rr := range rows[idsStartIndex:] {
for ii, rngBasis := range ranges {
for jj, rngCompare := range ranges {
if ii != jj {
if rngCompare.From >= rngBasis.From && rngCompare.From <= rngBasis.To && rngCompare.To > rngBasis.To {
ranges[ii].To = rngCompare.To
deleteIndex = jj
}
if rngCompare.To >= rngBasis.From && rngCompare.To <= rngBasis.To && rngCompare.From < rngBasis.From {
ranges[ii].From = rngCompare.From
deleteIndex = jj
}
if rngCompare.From <= rngBasis.From && rngCompare.To >= rngBasis.To {
ranges[ii] = rngCompare
deleteIndex = jj
}
if deleteIndex != -1 {
break
}
}
if deleteIndex != -1 {
break
}
}
}
if deleteIndex != -1 {
ranges[deleteIndex] = ranges[len(ranges)-1]
ranges = ranges[:len(ranges)-1]
} else {
break
}
}
fmt.Println(ranges)
fmt.Println(ids)
freshCounter := 0
for _, sID := range rows[idsStartIndex:] {
id := aoc.ParseInt(sID)
for _, goodRange := range ranges {
if id >= goodRange.From && id <= goodRange.To {
freshCounter++
break
}
}
}
freshIDCount := 0
for _, rng := range ranges {
freshIDCount += rng.To - rng.From + 1
}
fmt.Println(freshCounter)
fmt.Println(freshIDCount)
}