diff --git a/day05/inputs b/day05/inputs new file mode 120000 index 0000000..a80bb2b --- /dev/null +++ b/day05/inputs @@ -0,0 +1 @@ +../inputs \ No newline at end of file diff --git a/day05/seeds.go b/day05/seeds.go new file mode 100644 index 0000000..7845bd6 --- /dev/null +++ b/day05/seeds.go @@ -0,0 +1,52 @@ +package main + +import ( + "fmt" +// "strings" + "bufio" + "os" + "strconv" + "regexp" +) + +func check(e error) { + if e != nil { + panic(e) + } +} + +func PrintAndWait(x ...any) { + fmt.Print(x...) + fmt.Scanln() +} + +func GetMaps(ss [][]string, nn [][]int) { + +} + +func main () { + file, err := os.Open("./inputs/day05_test_input") + check(err) + defer file.Close() + + // Regex that finds the numbers in a row + renum := regexp.MustCompile("[0-9]+") + + var seeds []int + //var soils, fertilizers, waters, lights, temperatures, + // humidities, locations [][]int + scanner := bufio.NewScanner(file) + // We know that the seeds only have one row + scanner.Scan() + // Put all the numbers in an array of strings + seedsNums := renum.FindAllString(scanner.Text(), -1) + // Extract every number from the string + for i := 0; i < len(seedsNums); i++ { + num, _ := strconv.Atoi(seedsNums[i]) + seeds = append(seeds, num) + } + // We know we have an empty string and just a title, skip them + scanner.Scan() + scanner.Scan() + +}