p1
This commit is contained in:
3
2024/01/go.mod
Normal file
3
2024/01/go.mod
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module main
|
||||||
|
|
||||||
|
go 1.23.3
|
||||||
68
2024/01/main.go
Normal file
68
2024/01/main.go
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user