Skip to content

Commit

Permalink
add day 21 part 1
Browse files Browse the repository at this point in the history
  • Loading branch information
Matrikss committed Dec 21, 2022
1 parent 15dba40 commit 20efe9f
Show file tree
Hide file tree
Showing 2 changed files with 1,720 additions and 0 deletions.
43 changes: 43 additions & 0 deletions day21.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package main

import (
"fmt"
"os"
"strconv"
"strings"
)

func get_part1(monkeys map[string]string, monkey string) int {
broken := strings.Split(monkeys[monkey], " ")
if len(broken) == 1 {
yell, _ := strconv.Atoi(broken[0])
return yell
} else {
if broken[1] == "+" {
return get_part1(monkeys, broken[0]) + get_part1(monkeys, broken[2])
}
if broken[1] == "-" {
return get_part1(monkeys, broken[0]) - get_part1(monkeys, broken[2])
}
if broken[1] == "*" {
return get_part1(monkeys, broken[0]) * get_part1(monkeys, broken[2])
}
return get_part1(monkeys, broken[0]) / get_part1(monkeys, broken[2])
}
}

func main() {

input, _ := os.ReadFile("./input/input21.txt")

monkeys := map[string]string{}

lines := strings.Split(string(input), "\r\n")
for _, line := range lines {
broken := strings.Split(line, ": ")
monkeys[broken[0]] = broken[1]
}

fmt.Println("Part 1:", get_part1(monkeys, "root"))
fmt.Println("Part 2:", 0)
}
Loading

0 comments on commit 20efe9f

Please sign in to comment.