(Go) day 8 part 2 done

This commit is contained in:
kageru 2018-12-09 17:55:28 +01:00
parent fdb838bab3
commit a50ab7c1ae
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2

View File

@ -38,6 +38,21 @@ func metaSum(root Node) (sum int) {
return sum
}
func specialSum(root Node) (sum int) {
if len(root.Children) == 0 {
return metaSum(root)
}
for _, m := range root.Metadata {
if m == 0 {
continue
}
if len(root.Children) >= m {
sum += specialSum(root.Children[m-1])
}
}
return sum
}
func main() {
inFile, _ := ioutil.ReadFile("input")
rawInput := strings.Split(string(inFile), " ")
@ -46,5 +61,10 @@ func main() {
input[i], _ = strconv.Atoi(s)
}
root, _ := parseNode(input, 0)
// part 1
fmt.Println(metaSum(root))
// part 2
fmt.Println(specialSum(root))
}