35 lines
469 B
Go
35 lines
469 B
Go
package day01
|
|
|
|
import "aoc2015/aoclib"
|
|
|
|
func Part1(puzzle aoclib.Puzzle) interface{} {
|
|
line := puzzle.GetInputArray()[0]
|
|
answer := 0
|
|
for _, c := range line {
|
|
if c == '(' {
|
|
answer++
|
|
} else {
|
|
answer--
|
|
}
|
|
}
|
|
|
|
return answer
|
|
}
|
|
|
|
func Part2(puzzle aoclib.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
|
|
}
|