exercism/go/scrabble-score/scrabble_score.go

25 lines
515 B
Go
Raw Normal View History

2016-08-13 23:20:14 +00:00
package scrabble_score
import "strings"
// Score takes a word and returns the
// Scrabble score for that word
func Score(word string) int {
word = strings.ToUpper(word)
letterValues := map[rune]int{
'A': 1, 'E': 1, 'I': 1, 'O': 1, 'U': 1,
'L': 1, 'N': 1, 'R': 1, 'S': 1, 'T': 1,
'D': 2, 'G': 2,
'B': 3, 'C': 3, 'M': 3, 'P': 3,
'F': 4, 'H': 4, 'V': 4, 'W': 4, 'Y': 4,
'K': 5,
'J': 8, 'X': 8,
'Q': 10, 'Z': 10,
}
var ret int
for _, ch := range word {
ret += letterValues[ch]
}
return ret
}