Files
aoc/2024/01/main.go
2024-12-01 07:21:16 +02:00

69 lines
970 B
Go

package main
import (
"fmt"
"os"
"sort"
"strconv"
"strings"
)
func main() {
lines := parse()
// var first = 0
// var last = 0
var left = []int{}
var right = []int{}
for _, line := range lines {
fmt.Println(line)
if line == "" {
continue
}
nums := strings.Fields(line)
fmt.Println(nums[0], nums[1])
l, _ := strconv.Atoi(nums[0])
r, _ := strconv.Atoi(nums[1])
left = append(left, l)
right = append(right, r)
// for i := 0; i < len(line); i++ {
// //fmt.Println(int(line[i]))
// x, err := strconv.Atoi(string(line[i]))
// if err == nil {
// last = x
// break
// }
// }
}
sort.Ints(left)
sort.Ints(right)
var sum = 0
for i := 0; i < len(left); i++ {
var diff = right[i] - left[i]
if diff < 0 {
diff *= -1
}
sum += diff
}
fmt.Println(sum)
}
func parse() []string {
filePath := os.Args[1]
data, _ := os.ReadFile(filePath)
chunks := strings.Split(string(data), "\n")
return chunks
}