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 }