refactor: create a execute() function to reuse in part two

This commit is contained in:
2025-11-28 15:26:23 +01:00
parent 6a82336c99
commit 27a56dc7cd

View File

@@ -35,15 +35,14 @@ func parseInstructions(data []string) []instruction {
return instructions
}
func PartOne(data []string) int {
instructions := parseInstructions(data)
func execute(instructions []instruction) (accumulator int, terminatedNormally bool) {
visited := make(map[int]bool)
accumulator := 0
accumulator = 0
pc := 0
for pc < len(instructions) {
if visited[pc] {
return accumulator
return accumulator, false
}
visited[pc] = true
@@ -59,6 +58,12 @@ func PartOne(data []string) int {
}
}
return accumulator, true
}
func PartOne(data []string) int {
instructions := parseInstructions(data)
accumulator, _ := execute(instructions)
return accumulator
}