Compare commits

...

2 Commits

Author SHA1 Message Date
db685a1290 test: add p2 unit test 2025-11-28 15:26:30 +01:00
27a56dc7cd refactor: create a execute() function to reuse in part two 2025-11-28 15:26:23 +01:00
2 changed files with 17 additions and 4 deletions

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
}

View File

@@ -21,3 +21,11 @@ func TestPartOne(t *testing.T) {
t.Errorf("PartOne() = %d, want %d", got, expected)
}
}
func TestPartTwo(t *testing.T) {
expected := 8
got := PartTwo(testInput)
if got != expected {
t.Errorf("PartOne() = %d, want %d", got, expected)
}
}