Compare commits
No commits in common. "day05" and "master" have entirely different histories.
@ -1,33 +0,0 @@
|
||||
seeds: 79 14 55 13
|
||||
|
||||
seed-to-soil map:
|
||||
50 98 2
|
||||
52 50 48
|
||||
|
||||
soil-to-fertilizer map:
|
||||
0 15 37
|
||||
37 52 2
|
||||
39 0 15
|
||||
|
||||
fertilizer-to-water map:
|
||||
49 53 8
|
||||
0 11 42
|
||||
42 0 7
|
||||
57 7 4
|
||||
|
||||
water-to-light map:
|
||||
88 18 7
|
||||
18 25 70
|
||||
|
||||
light-to-temperature map:
|
||||
45 77 23
|
||||
81 45 19
|
||||
68 64 13
|
||||
|
||||
temperature-to-humidity map:
|
||||
0 69 1
|
||||
1 0 69
|
||||
|
||||
humidity-to-location map:
|
||||
60 56 37
|
||||
56 93 4
|
||||
@ -1,20 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
utils "git.anthonygueguen.fr/g3po/aoc2023/internal"
|
||||
day05 "git.anthonygueguen.fr/g3po/aoc2023/internal/05"
|
||||
)
|
||||
|
||||
func main() {
|
||||
content := utils.Init()
|
||||
|
||||
fmt.Println("Part 1")
|
||||
|
||||
result := day05.GetShortestLocation(content)
|
||||
fmt.Printf("Result: %d\n", result)
|
||||
fmt.Println("Part 2")
|
||||
|
||||
// fmt.Printf("Result: %d\n", result[1])
|
||||
}
|
||||
@ -1,49 +0,0 @@
|
||||
package day05
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
"regexp"
|
||||
"strconv"
|
||||
|
||||
utils "git.anthonygueguen.fr/g3po/aoc2023/internal"
|
||||
)
|
||||
|
||||
func GetShortestLocation(content []string) int64 {
|
||||
seeds := make(map[int64]int64)
|
||||
minLocation := int64(math.MaxInt64)
|
||||
re := regexp.MustCompile(`\d+`)
|
||||
for _, val := range re.FindAllString(content[0], -1) {
|
||||
num := utils.Must(strconv.ParseInt(val, 10, 64))
|
||||
seeds[num] = num
|
||||
}
|
||||
|
||||
for i := 1; i < len(content); i++ {
|
||||
matches := re.FindAllString(content[i], -1)
|
||||
if len(matches) != 3 {
|
||||
continue
|
||||
}
|
||||
fmt.Println(seeds)
|
||||
fmt.Println(matches)
|
||||
var num []int64
|
||||
for _, val := range matches {
|
||||
num = append(num, utils.Must(strconv.ParseInt(val, 10, 64)))
|
||||
}
|
||||
|
||||
for k, v := range seeds {
|
||||
if v >= num[1] && v < num[1]+num[2] {
|
||||
seeds[k] = num[0] + (v - num[1])
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
for _, v := range seeds {
|
||||
if v < minLocation {
|
||||
minLocation = v
|
||||
}
|
||||
}
|
||||
return minLocation
|
||||
}
|
||||
|
||||
func contentToBlock(content []string) {
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user