This commit is contained in:
Gareth
2025-12-01 18:11:11 +00:00
parent 358249e78a
commit 015607cde3
8 changed files with 4247 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
package day01
import (
"strconv"
"strings"
)
func Part1(input string) int {
lines := strings.Split(input, "\n")
position := 50
output := 0
for _, line := range lines {
direction := line[0]
amount, _ := strconv.Atoi(line[1:])
if direction == 'R' {
position += amount
for position > 99 {
position -= 100
}
} else if direction == 'L' {
position -= amount
for position < 0 {
position += 100
}
}
if position == 0 {
output++
}
}
return output
}
func Part2(input string) int {
lines := strings.Split(input, "\n")
position := 50
output := 0
for _, line := range lines {
direction := line[0]
amount, _ := strconv.Atoi(line[1:])
step := 1
if direction == 'L' {
step = -1
}
for i := 0; i < amount; i++ {
position = (position + step) % 100
if position < 0 {
position += 100
}
if position == 0 {
output++
}
}
}
return output
}