package main import ( "bufio" "fmt" "log" "os" "sort" "strconv" "strings" ) func original() { fmt.Println("Original Code") file, err := os.Open("./input.txt") if err != nil { log.Fatal("Error when opening input.json: ", err) } fileScanner := bufio.NewScanner(file) fileScanner.Split(bufio.ScanLines) var ( listA, listB []int ) for fileScanner.Scan() { slice := strings.Fields(fileScanner.Text()) num1, _ := strconv.Atoi(slice[0]) num2, _ := strconv.Atoi(slice[1]) listA = append(listA, num1) listB = append(listB, num2) } file.Close() // Part 1 sort.Ints(listA) sort.Ints(listB) sumPart1 := 0 for i := 0; i < len(listA); i++ { if listA[i] > listB[i] { sumPart1 += listA[i] - listB[i] } else { sumPart1 += listB[i] - listA[i] } } fmt.Println("Sum of Part 1: ", sumPart1) // Part 2 sumPart2 := 0 for _, v1 := range listA { counter := 0 for _, v2 := range listB { if v1 == v2 { counter++ } } sumPart2 += counter * v1 } fmt.Println("Sum of Part 2: ", sumPart2) }