diff --git a/go/scrabble-score/scrabble_score.go b/go/scrabble-score/scrabble_score.go index 9ba20cfb014c9de0597df386b5cc4dd718607d66..51282259c32595c2b877664fdca2ddcefb8b698c 100644 --- a/go/scrabble-score/scrabble_score.go +++ b/go/scrabble-score/scrabble_score.go @@ -2,34 +2,30 @@ package scrabble import "unicode" -func Tile2Score(letter rune) int { - var score = 0 - switch unicode.ToUpper(letter) { - case 'A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T': - score = 1 - case 'D', 'G': - score = 2 - case 'B', 'C', 'M', 'P': - score = 3 - case 'F', 'H', 'V', 'W', 'Y': - score = 4 - case 'K': - score = 5 - case 'J', 'X': - score = 8 - case 'Q', 'Z': - score = 10 - default: - score = 0 - } - return score -} - // Score converts a string into its integer scrabble score. func Score(str string) int { var accumulator = 0 - for _, c := range str { - accumulator += Tile2Score(c) + for _, letter := range str { + var score = 0 + switch unicode.ToUpper(letter) { + case 'A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T': + score = 1 + case 'D', 'G': + score = 2 + case 'B', 'C', 'M', 'P': + score = 3 + case 'F', 'H', 'V', 'W', 'Y': + score = 4 + case 'K': + score = 5 + case 'J', 'X': + score = 8 + case 'Q', 'Z': + score = 10 + default: + score = 0 + } + accumulator += score } return accumulator }