Skip to content

Instantly share code, notes, and snippets.

@mrjazz
Created December 2, 2022 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrjazz/a2cfdfef32bfd7002d6949cdae4d6bd2 to your computer and use it in GitHub Desktop.
Save mrjazz/a2cfdfef32bfd7002d6949cdae4d6bd2 to your computer and use it in GitHub Desktop.
const input = `A Y
B Y
B Z
B Z
B X
B Z
C Y
A Z
C X
C X
B Z
B Z
B Z
A X
B Z
B Z
A Y
B Z
A Z
B X
B Z
A X
A X
B Z
A Y
A Z
B Z
A Y
A Z
B Z
A Z
B Z
B Z
C Y
B Z
B Z
A X
C X
B Z
A X
B Z
C X
A X
B Z
A X
A X
C X
B Z
B Z
B Z
C Y
C Y
A X
B Z
C X
B Z
A X
A Y
B Z
B Z
B Z
B Z
B Z
B X
B Z
B Z
B Z
B X
A X
A X
B Z
A Y
C Y
C Y
A Y
A X
B Z
A Y
A Z
A X
A X
A Y
C Y
B Z
B Z
C X
B Z
A Y
A X
B Z
B Z
A X
A X
A X
B Z
A Y
B Z
A Z
C Y
B Z
B Z
B Z
C Y
A Y
C Y
B Z
A X
B Z
A X
B Z
C Y
B Z
B Z
B Z
C X
B Z
A X
B Z
B Z
B Z
A X
A X
B X
C Y
B Z
B Z
B Z
A X
B Z
A X
B Z
A X
A Z
A X
B Z
A X
C Y
A X
B Z
A X
C Y
B Z
B Z
A X
A X
B Z
C Y
B Y
B Z
B Z
B Z
B X
B Z
B Z
B Z
A X
B Z
C Y
C Y
A Z
A X
B Z
B Z
B Y
B Z
B Z
C Y
B Z
B Y
B Z
C Y
B Z
B Z
C X
C X
C X
B Z
A Z
A X
C Y
A Z
B Z
B Z
B Z
B Z
A X
A X
B Z
B Z
A Z
A X
A X
B Z
C Y
A X
A Z
A Y
A Y
A X
B Z
A X
A Z
B Z
C X
B Z
C X
C Y
B Z
B Z
B Z
B Z
B Z
C Y
A X
C Y
A X
B Y
B Y
A X
A X
B Z
B Z
C X
A Z
C Y
A X
A X
A Y
A X
A X
B Z
A Z
B Z
B Z
B Z
A Z
A X
B Z
B Z
C Y
B Z
B Z
B Z
A X
A X
B Z
B Z
B Z
B Z
B Z
B Z
A X
C X
A X
A X
C Y
A X
B Z
C Y
B Z
B Z
B Z
A X
B Z
C Y
B Z
A X
A X
B Z
A X
A X
B Z
A Z
B X
A X
A X
B Z
C Y
A Y
A X
C X
B Z
A X
B Z
B Z
A X
B Z
A Z
C Y
B Z
B Z
A X
A X
B X
A X
B Z
B Z
C X
A X
C X
A X
B Z
B Z
A X
A Z
B Z
B X
A X
A Y
B Z
B Z
B Z
C X
C Y
B Z
B Z
C Z
B X
C Y
C Z
B Z
B Z
A X
B Z
C X
B Z
B Z
A Z
A X
C X
B Z
B Z
A X
C Y
A X
B X
C Z
B Z
B Z
A X
B Z
A Y
B Z
B Z
A X
B Z
C Y
C Y
A X
C Y
C X
C X
A X
B Z
C Y
B Z
C X
B Z
A Z
B Z
A Z
B X
B Z
A Z
A X
B Z
B Z
B Z
A X
A X
A X
B Z
A X
B Z
B X
A Y
B Z
A X
B Z
B Z
B Z
A X
B Z
C X
A Y
A X
A Z
C Y
C Y
A X
C Y
B Z
A X
B Z
C Y
B X
A Z
B Z
B Z
B X
B Z
B Z
B Z
A Y
A Y
C Y
A Z
A X
B Z
B Z
A X
A X
A X
B Z
A X
B Z
B Y
A X
A X
A X
B Z
B Z
B Z
C Y
A X
A X
A X
A X
A X
A X
C Y
A Z
C X
B Z
B Z
C Z
A X
A X
B Z
A X
B X
B Z
B Z
C X
B Z
A Z
A X
B Z
A Z
B Z
B Y
A X
C Y
A X
B Z
B Z
B Z
A Z
C Y
C Z
A X
B Z
B Z
B X
A X
B Z
A X
B Z
B Z
C Z
B Z
A X
C Y
C X
A Z
C X
A X
A X
A X
B Z
B Y
C Y
B Z
B Z
C Y
B Z
A X
B Z
A Z
A X
B Z
A Y
A X
A X
B X
B Z
B Z
B Z
B Z
C Z
B Y
A X
A X
B Z
B Z
B Z
C Z
B Z
B Z
A Y
A Z
B Z
A X
C Y
B Z
A Z
C Z
B Z
C X
B Z
B Z
A X
B Z
A X
B Z
C Y
A X
B Z
A Z
B Z
C Y
A X
C X
A X
A X
B Z
B Z
B X
B Z
C X
C Y
A Z
B Z
C Y
B Z
C Y
B Y
A Y
B Z
A X
B Z
A Z
B Z
A X
C X
B Z
B X
C Y
A Z
A X
B Z
B Z
B Z
A Z
C Y
C Y
B Z
A Y
A X
A X
A Y
C Y
A Y
B Z
B Z
B Z
A Z
B Z
A Z
B Z
A X
A Z
B Z
C Y
B Z
A X
A X
A X
A Z
A Z
B Z
C Y
B Z
A X
B Z
B Z
A Z
B Z
B Z
A X
B Z
B Z
B X
A X
B Z
B Z
A Z
A X
B X
A X
B Z
A X
B Z
A X
B Z
C Y
B Z
C Z
C X
B Z
B Z
B Z
C Y
C X
B Z
B Z
B Z
B Z
A Y
A Y
C Y
A X
C X
B X
A X
C X
A Y
B X
A X
A Z
B Z
B X
B Y
B Z
B Z
B X
B Z
C Y
B Z
A X
A X
A X
B Z
A X
B Z
A X
B Z
B Z
B Z
B Z
A X
C Y
A X
B Z
B Z
B Z
A X
B Z
B Z
C Z
A X
A Z
B Z
C Y
B Z
B Z
B Z
B Z
A Z
B Z
B Z
B Z
C Y
A X
B X
C Y
A X
C Z
B Z
C Y
C Y
B Z
A X
B Z
C Z
A X
A Z
B Z
A Z
B Z
B X
B Z
A Z
B Z
C Y
C Z
B Z
A X
B Z
A X
A X
B Z
B Z
B Z
B Z
A X
A Z
A X
B X
B Z
A Y
A Y
B Z
A X
B Z
B Z
A Y
C X
B Z
B Z
B Z
C X
B Z
C X
A X
B Z
C Y
A X
A X
A X
C Z
A X
A X
A Y
B Z
B Z
B Z
B Z
B Z
C X
C Y
B Z
B Z
C X
B Z
B Z
B Z
C Y
C Y
A Z
A X
B Z
A X
B X
B Z
B Z
C Y
B Z
A X
B X
A Z
A Z
B Z
A X
C X
A X
B Z
B Z
B Z
A X
A Z
C X
B Z
A X
A Z
A Z
A Z
A Z
C Y
B X
B X
C Z
B X
C Z
A X
A Y
B Z
B X
A Y
A Z
B X
A X
A X
C Z
A Z
B Z
C X
B Z
B Z
C X
B Z
C X
A X
A Y
A X
B Z
A X
B Z
C Y
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
A X
B Z
A X
B Z
A Y
B Z
A X
A Z
B Z
C Y
A Z
A X
A Z
C X
B Z
B Z
B Z
A X
C X
C Y
B Z
A Z
A Z
C X
B Z
C Y
A Z
A Z
A Y
B Z
A Z
B Z
B Y
C Y
B Z
B Z
A Z
A X
B Z
C Y
B Z
B Z
B Z
B Z
B Z
A X
C Y
B X
C X
B Z
A Z
B Z
A X
B Z
B Z
A X
C Y
A X
A X
A X
C X
A X
A X
B Z
A Y
A X
B Z
C X
A X
C Z
A X
B Z
C X
A X
A X
A X
B Z
C X
B Z
B Z
A X
A X
A X
A X
B Z
A X
A X
B Z
B X
A Y
A X
C X
A X
C X
A X
B Z
B Z
B Z
B Z
B Z
A X
A X
B X
C Y
A Y
C X
C X
C X
B Z
B Z
B X
B Z
B Z
C X
B Z
B Z
A X
B Z
B Z
B X
A X
A X
C Y
C X
A X
C Y
A Y
C X
B Z
A X
A Z
B Z
B Z
B X
B Z
B Z
B Z
C Y
B X
A X
B Z
A X
B Z
A X
A Z
A Y
C Y
B Z
C Y
A Z
A Z
B Z
A X
A X
C Y
C Y
A X
B Z
A X
C X
C Z
A X
A Y
A X
A X
A X
B Z
B Z
B Z
C Y
B Z
B Z
C Z
A X
B Z
B Z
A X
A X
B Z
B Z
B Z
A Y
B X
A Z
A Z
B Z
A X
B Z
B Y
A Y
A X
C Y
A Z
B Z
C X
C X
A X
B Z
A X
A X
A Z
B Z
A Z
A Z
B Z
B Z
A Y
B Z
C Y
C X
B Z
A X
A X
B Z
B Z
A X
A X
C Y
B Z
A Z
A X
B Z
C Y
B Z
A X
A X
B X
A X
B Z
C Y
B Z
A Y
B Z
B Z
B Z
B X
A X
B Z
C Y
B Z
B Z
B Z
A Z
C Y
C Y
C Y
A X
A Z
A X
B Z
A X
B Z
A X
C Y
B Z
B Z
A X
B Z
A X
A X
B Z
B Z
A X
A X
C X
B Z
A Y
A X
A X
B Z
C Y
C X
C X
B Y
A Z
B Z
A Z
A X
B Z
C Y
B Z
A X
A Z
B Z
A X
A Y
A X
B Z
B Z
B Y
B Z
A X
B Z
B Z
B Z
C Y
A X
B Z
B Z
A X
A X
A X
B Z
A Y
B Z
A Z
A X
B Z
C X
B Z
A X
A Z
A Z
B Z
A X
B Z
B Z
B Z
B Z
C Y
A Y
A Z
A X
A Y
B Z
B Z
B Z
C Y
C Y
B Z
A Y
A Z
A X
B Z
A Z
B Z
A X
C Y
B Z
B Z
B Z
B Z
B Z
C X
A Z
B Z
A Z
B Z
A X
B Z
A X
A Y
B Z
B X
B Z
A Y
B Z
A Z
B Z
B Z
A X
A Z
A Z
B X
B Z
A X
B X
A X
A Z
A X
C X
B Z
C X
A X
C X
A X
A X
A Z
A Z
B Z
A Z
B X
B Z
B Z
A X
B Z
B Z
A X
B Z
B Z
B Z
B Z
B Z
C X
A X
C Y
B Z
B Z
A Y
B X
B Z
A Z
B Z
B Z
C Y
B Z
A X
A Z
B Z
A Z
B Z
B Z
A X
B Z
A Z
A Z
A Z
C X
A Z
B Z
C Y
B Z
A Z
B Z
A X
A X
A X
A Z
A X
B Z
B Z
B Z
B Z
A Y
A X
C Y
C Z
B Z
A Z
A X
B Z
B X
B Z
A X
B Z
B Z
C Y
A X
B Z
B Z
C X
C X
B Z
B Y
A Y
A X
C Y
A X
A X
B Z
B Z
B Z
B Z
A Z
C X
A X
A X
A X
A X
A Y
A Z
A Y
A Y
B Z
A X
A Y
A X
A Z
A Z
A X
B Z
B Z
C Y
A X
B Z
C Y
B Z
B Z
A X
B Z
B X
A X
B Z
A Y
A Y
B X
B Z
B Z
C X
A X
B Z
A X
B X
B Z
A X
B Z
A X
B X
A X
A X
C X
A X
A X
B Z
A X
A X
A Y
B Z
B Z
C Y
B Z
A X
B Z
B Z
A Z
A X
B Z
A Y
B Z
C Y
A Z
A X
A Y
C Y
A X
A Y
C X
B Z
A X
A Y
A X
B Z
A Z
B Z
B Z
C Y
A X
C Y
A Z
B Z
B Z
A X
A X
B X
B Z
C Y
B Z
B Y
A X
B Z
A X
C X
B Z
A Y
A X
B Z
C Y
A Z
B Z
A X
A X
A Y
A Z
C X
B Z
B Z
B Z
A Z
B Z
C Y
B Z
B Z
B Z
B Z
B X
B Z
A X
B Z
B Z
A X
C X
C Y
B Z
B Z
A X
B Z
A X
A X
A Y
B Z
A Z
B Z
C Y
B Z
A X
A Y
C Y
B Y
A Y
A X
C Y
A X
A Z
A X
B Z
A Z
B Z
A X
B Z
C Y
A X
B Z
B X
B Z
A X
A X
A X
B Z
A Z
A Z
B Z
A X
B Z
B Z
A X
A X
B Z
B Z
A X
B Z
B X
B Z
C Y
A Z
B X
A X
B Z
B Z
A X
B Z
A X
B Z
B X
B X
A X
B Z
B Z
B Z
B Z
A Y
B Z
B Z
A X
C X
B Z
B Z
B Z
B Z
B Z
A X
C X
A Y
A X
A X
B Z
C Y
C X
B Z
A X
A Y
B Z
A X
B Z
C Y
B Z
A X
B Z
A Y
B X
A X
B Z
A X
B Z
A X
B Z
A X
C X
C X
A X
B Z
A Y
B Z
B Z
A X
A X
B Z
B Z
B Z
A X
A X
A X
C Y
A Y
B Z
B Z
B Z
B Z
A X
A X
B Z
B Z
C Y
A X
A X
B Z
A X
A Y
A X
B Z
B Z
B Z
A X
B Z
A X
B Z
A X
A X
B Z
A Y
A Z
B Y
A X
A Z
B Z
B Z
A Z
A X
A X
B Z
A X
B Z
A X
C X
A Z
A X
B Z
B Z
A X
A Z
C X
B Z
B Z
A X
B Z
B Z
A X
B Z
B Z
B Z
A Y
A Z
B Z
B Z
A X
B Z
B Z
B X
C X
B Z
B Z
B Z
A X
A X
A Z
B Z
C X
B Y
A Y
B Z
B Z
A X
A X
A Z
B Z
B Z
B Z
A X
A Z
A X
B Z
B Z
A Z
B Z
A Y
A Z
C Y
B Z
B Z
B Z
B Z
A Z
A Z
A Y
B Z
A X
A X
B Z
A Z
B Z
B Z
B X
C Y
B Z
C Y
B Z
A X
C Z
B Z
A X
A X
B Z
A Z
A X
B Z
A Z
A X
C Z
C X
B Z
B Z
B Z
B Z
B Z
C Y
A X
B Z
C Y
A X
B Z
B Z
A Z
A Z
B Z
C Y
A X
C X
B Z
B Z
B Z
B Z
A X
B Z
A X
B Z
A Y
B Z
B Z
B Z
B Z
B Z
C Y
B Z
B Z
A X
A X
A X
A Z
B Z
A Y
C Z
A Z
B Z
B Z
B Z
A X
B X
C Y
C X
C Y
B Z
B Z
B Z
B Z
A Y
B Z
A X
C X
A X
B X
C X
B Z
B Z
A X
A X
C Y
C Y
A X
B Z
C Y
A Y
A Z
A Y
B Z
B Z
B Z
A Y
B Z
A Z
A X
B Z
C X
A Z
B Z
A X
C X
A X
C Y
B X
B Z
B Z
A X
C Y
A X
B Z
C X
A Z
A Y
B Z
A Z
B Z
B Z
B Z
B Z
A X
A X
B Z
A Z
C Y
A Y
A X
A X
B Z
C Z
B Z
A Z
B X
C X
B Z
B Z
A X
A Z
A X
A Z
A X
B Z
B Z
C Y
B Z
B Z
B Z
B Z
A Z
B Z
B X
B Z
B Z
B Z
B Z
C X
C X
A X
B Z
B Z
B Z
B Z
B Z
B Z
A X
C X
B Z
B Z
A Y
B Z
A X
C Y
B Z
C Y
B Z
A Y
B Z
B Z
B Z
A X
A X
A X
B Z
C Y
B Z
A Z
A Y
A Z
A Y
B Z
A X
B X
B Z
A X
B Z
A Y
A X
B Z
A X
A X
A Y
A Y
A X
A X
A X
B Z
B Z
B Z
A X
B Z
A X
B Z
A X
B Y
B Y
A X
B Z
C X
A Z
C Y
A X
B Z
B Z
B Z
C Y
B X
C Y
B Z
B Z
B Z
A Z
B Z
B Z
B Z
C Y
B Z
B Z
A X
A Z
A Y
C Y
B Z
B Z
A X
B Z
B Z
A X
A X
B Z
B Y
B Z
B Z
A Z
B Z
B Z
A X
B Z
A X
C X
C X
A X
C Y
B Z
B Z
B Z
A X
C Y
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
C Y
C X
B Z
B Z
B Z
C Y
A Y
C Y
A X
B X
B Z
A X
C X
B Z
A Z
C X
C X
B Z
B Z
A Z
B Z
B X
B Z
B Z
B Z
A X
C X
B Z
A X
C Y
B Z
B Z
C X
B X
A X
B Z
C X
C X
B Z
B X
A X
B Z
A Y
B Z
A Z
A X
B Z
A X
A X
B Z
B Z
A X
B Z
A X
A X
C Y
B Z
A X
C Y
B Z
B Z
A X
A Y
C Y
B Z
A X
B Z
A X
A X
B Z
B Z
C Y
B Z
A X
A X
A X
A X
A Z
B Z
B Z
C X
C X
B Z
B Z
C Y
B Z
A Y
B Z
A X
C X
A Z
B Z
B Z
B Z
C Y
A X
B Z
B Z
C Y
B Z
C Y
B Z
A Z
B Z
A X
B Z
C Y
C Y
A X
A X
A Z
B Z
C Y
C Y
A X
B Z
B Z
A X
B Z
B Z
B Z
B Z
B X
B Y
A X
B Z
B Z
B Z
C Y
A X
A Y
B Z
A Z
A Z
B X
A X
C Y
B Z
B Z
A Z
B Z
C X
C X
A Z
B Z
A X
B Z
A X
B Z
B Z
B X
A X
A Z
B X
A X
B Z
A X
A X
A Z
A Y
B Z
A Y
C Y
C X
B Z
B Z
A X
A X
B Z
B Z
B Z
A Z
C X
A X
B Z
B Z
A X
B Z
B Z
B Z
A X
A Z
B Z
A X
B Z
A X
B Z
B Z
A X
C Y
A X
C X
A Z
B X
A Y
A Y
B Z
B Z
B Z
A X
A X
A X
A Y
B Z
B Z
B Z
B Z
B Z
B Z
B Z
B Z
C Y
B Z
B Z
B Z
C Y
A X
A Z
B Z
C Y
B Z
A Z
A X
B Z
A Y
B Z
B Z
A Z
B Z
A X
A Z
A Z
B Z
B Z
B Z
B Z
A X
A Z
B Z
B Z
B Z
B Z
A Z
B Z
C X
B Z
B Y
A X
B Z
B Z
A X
B Z
A X
A X
A X
A X
B X
B Z
C X
B Z
B Z
B Z
A X
B Z
C X
B Z
A Z
A X
A X
B Z
B Z
B Z
B Z
C X
A X
B Z
B Z
C Y
B Z
C Y
B Z
B Z
A X
B Z
A X
A Y
B Z
A Z
B Z
B Z
A Y
B Z
B Z
C Y
A X
A X
A X
A X
B Z
B Z
A Y
B Z
A Z
A X
A X
B Z
A Y
B Z
B Z
B X
A Y
A X
A X
C Y
C X
A X
B Z
B Z
B Z
A Y
B Z
C X
C X
C X
B Z
B Z
B Z
B Z
B Z
A X
B Z
A Y
B Z
A Y
C X
B X
B Z
B Z
A X
B X
B Z
B Z
B Z
B Z
B Z
A X
B Z
C X
B X
A X
A X
A X
A X
A X
B Z
C X
C Y
A X
B Z
C X
A Z
B Z
B Z
C Y
A X
A Z
B Z
B Z
B Z
B Z
B Z
B Z
A X
A X
B X
A X
B Z
A X
B Z
B Z
A Z
B Z
B Z
B Z
B Z
C X
B Z
A Z
B Z
B Z
A Z
A X
C X
B X
C X
A X
B Z
A Z
B X
B X
A Z
B Z
B Z
B X
B Z
B Z
C X
A Y
A X
A Z
B Z
A X
B Z
B Z
B Z
B Z
A X
A X
C Y
B Z
B Z
B Z
A Z
C X
C Y
B Y
B Z
B Z
A X
C Y
A Z
B Z
B Z
B Z
B Z
B Z
C X
B Z
A X
C X
A X
A Z
C Y
C X
B Z
B Z
A Y
A Z
A Z
A X
A Z
A Z
C Y
B Z
B Z
B Z
B Z
A Z
A X
A Y
C X
A X
B Z
B Z
B Z
A X
B Z
B Z
A Z
B Z
A X
B Z
A X
A Y
B Z
A X
A Z
B Z
A X
B Z
C X
B Z
B Z
C X
A Y
B Z
A Z
C X
C Z
C X
B Z
B Z
B Z
A X
B Z
C X
A X
A Y
A X
A Z
C Y
A X
B Z
B Z
C Z
A X
B Z
B Z
A X
A Z
B Z
A Y
B Z
C X
A X
A X
B Z
B Z
B Z
B X
C X
B Z
B Z
A X
A X
A Z
B Z
B Z
A Z
C Y
C Z
B Z
A X
A X
A X
C Y
A X
A X
A X
A Z
B Z
A Y
B Z
C X
B Z
A X
C X
B Z
A Y
A X
B Z
B Z
B Z
A X
A Y
B Z
A X
B Z
B Z
B Z
B Z
A X
A X
B Z
C X
B X
A Z
B Z
B Z
B Z
B Z
B Z`;
// 0 if you lost
// 3 if the round was a draw
// 6 if you won
// 1 for Rock
// 2 for Paper
// 3 for Scissors
// A - Rock
// B - Paper
// C - Scissors
// X - Rock
// Y - Paper
// Z - Scissors
const winScore = {
'A': { // Rock
'X': 3, // Rock - draw,
'Y': 6, // Paper - win
'Z': 0 // Scissors - lost
},
'B': { // Paper
'X': 0, // Rock - draw,
'Y': 3, // Paper - win
'Z': 6 // Scissors - lost
},
'C': { // Scissors
'X': 6, // Rock - draw,
'Y': 0, // Paper - win
'Z': 3 // Scissors - lost
}
}
const moveScore = {
'X': 1, // for Rock
'Y': 2, // for Paper
'Z': 3 // for Scissors
}
const calculateWinScore = (a, b) => {
return winScore[a][b];
}
const calculateMoveScore = (b) => {
return moveScore[b];
}
const res = input
.split('\n')
.map(values => values.trim().split(' '))
.map(pairs => {
const [a, b] = pairs;
return calculateMoveScore(b) + calculateWinScore(a, b)
})
.reduce((a, b) => a + b)
console.log(res)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment