Day01
This commit is contained in:
58
Day01/original.go
Normal file
58
Day01/original.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"sort"
|
||||
)
|
||||
|
||||
func original() {
|
||||
content, err := ioutil.ReadFile("./input.json")
|
||||
if err != nil {
|
||||
log.Fatal("Error when opening input.json: ", err)
|
||||
}
|
||||
|
||||
var payload map[string][]int
|
||||
err = json.Unmarshal(content, &payload)
|
||||
if err != nil {
|
||||
log.Fatal("Error when unmarshalling input.json: ", err)
|
||||
}
|
||||
|
||||
// Part 1
|
||||
listA := payload["list_a"]
|
||||
listB := payload["list_b"]
|
||||
|
||||
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
|
||||
listA = payload["list_a"]
|
||||
listB = payload["list_b"]
|
||||
|
||||
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)
|
||||
}
|
Reference in New Issue
Block a user