package main import ( "fmt" h "git.bullercodeworks.com/brian/adventofcode/helpers" ) func main() { inp := h.StdinToStringSlice() fmt.Println("# Part 1") fmt.Printf("Score: %d\n", part1(inp)) fmt.Println("# Part 2") fmt.Printf("Score: %d\n", part2(inp)) } func part1(input []string) int { score := 0 for i := range input { first, second := input[i][0], (input[i][2] - 23) score += int(second - 'A' + 1) switch second - first { case 1, 254: score += 6 case 0: score += 3 } } return score } func part2(input []string) int { score := 0 for i := range input { against, to := input[i][0], input[i][2] choose := byte(64) switch to { case 'X': choose = (against - 1) if choose < 'A' { choose = 'C' } case 'Y': score += 3 choose = against case 'Z': choose = (against + 1) if choose > 'C' { choose = 'A' } score += 6 } score += int(choose - 64) } return score }