Files
AdventOfCode2024/Day01/original.go

68 lines
1.0 KiB
Go

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)
}