Files
2025-06-06 00:10:39 +02:00

56 lines
833 B
Go

package main
import (
"fmt"
"os"
"strings"
)
func main() {
data := readFile("../input.txt")
characters := strings.Split(data, "")
part1 := part1(characters)
part2 := part2(characters)
fmt.Printf("Part 1: %d\n", part1)
fmt.Printf("Part 2: %d\n", part2)
}
func part1(input []string) int {
floorLevel := 0
for _, v := range input {
switch v {
case "(":
floorLevel += 1
default:
floorLevel -= 1
}
}
return floorLevel
}
func part2(input []string) int {
floorLevel := 0
position := 0
for i, v := range input {
switch v {
case "(":
floorLevel += 1
default:
floorLevel -= 1
}
if floorLevel == -1 {
position = i + 1
break
}
}
return position
}
func readFile(filename string) string {
content, err := os.ReadFile(filename)
if err != nil {
return ""
}
return string(content)
}