diff --git a/internal/2017/DayOne/code.go b/internal/2017/DayOne/code.go new file mode 100644 index 0000000..fa2e440 --- /dev/null +++ b/internal/2017/DayOne/code.go @@ -0,0 +1,37 @@ +package dayone + +import ( + "advent-of-code/internal/registry" + "os" + "strconv" +) + +func init() { + registry.Register("2017D1", ParseInput, PartOne, PartTwo) +} + +func ParseInput(filepath string) []int { + content, _ := os.ReadFile(filepath) + digits := string(content) + result := make([]int, 0, len(digits)) + for _, char := range digits { + digit, _ := strconv.Atoi(string(char)) + result = append(result, digit) + } + return result +} + +func PartOne(data []int) int { + sum := 0 + for idx := range data { + nextIndex := (idx + 1) % len(data) + if data[idx] == data[nextIndex] { + sum += data[idx] + } + } + return sum +} + +func PartTwo(data []int) int { + return 0 +}