35 lines
466 B
Go
35 lines
466 B
Go
package day01
|
|
|
|
import tools "shtools"
|
|
|
|
func Part1(puzzle tools.Puzzle) interface{} {
|
|
line := puzzle.GetInputArray()[0]
|
|
answer := 0
|
|
for _, c := range line {
|
|
if c == '(' {
|
|
answer++
|
|
} else {
|
|
answer--
|
|
}
|
|
}
|
|
|
|
return answer
|
|
}
|
|
|
|
func Part2(puzzle tools.Puzzle) interface{} {
|
|
line := puzzle.GetInputArray()[0]
|
|
answer := 0
|
|
for x, c := range line {
|
|
if c == '(' {
|
|
answer++
|
|
} else {
|
|
answer--
|
|
}
|
|
if answer < 0 {
|
|
return x + 1
|
|
}
|
|
}
|
|
|
|
return -1
|
|
}
|