Files
2022-12-02 07:41:32 +01:00

48 lines
1.3 KiB
Go

package main
import (
"bufio"
"fmt"
"os"
"aoc2022/day02/common"
)
func Parse(scanner bufio.Scanner) []common.Round {
rounds := []common.Round{}
for scanner.Scan() {
line := scanner.Text()
var round common.Round
switch line {
case "A X":
round = common.Round{Opponent: common.Rock, Response: common.Scissor}
case "A Y":
round = common.Round{Opponent: common.Rock, Response: common.Rock}
case "A Z":
round = common.Round{Opponent: common.Rock, Response: common.Paper}
case "B X":
round = common.Round{Opponent: common.Paper, Response: common.Rock}
case "B Y":
round = common.Round{Opponent: common.Paper, Response: common.Paper}
case "B Z":
round = common.Round{Opponent: common.Paper, Response: common.Scissor}
case "C X":
round = common.Round{Opponent: common.Scissor, Response: common.Paper}
case "C Y":
round = common.Round{Opponent: common.Scissor, Response: common.Scissor}
case "C Z":
round = common.Round{Opponent: common.Scissor, Response: common.Rock}
}
rounds = append(rounds, round)
}
return rounds
}
func main() {
rounds := Parse(*bufio.NewScanner(os.Stdin))
fmt.Println(common.GetTotalScore(rounds))
}