summaryrefslogtreecommitdiff
path: root/go/scrabble-score/scrabble_score.go
blob: 072e717c9abea1193e5fa0a85f645dbc52371c0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package scrabble

import "unicode"

const testVersion = 4

func Score(s string) int {
	var sum int
	for _, r := range s {
		switch unicode.ToLower(r) {
		case 'a', 'e', 'i', 'o', 'u', 'l', 'n', 'r', 's', 't':
			sum += 1
		case 'd', 'g':
			sum += 2
		case 'b', 'c', 'm', 'p':
			sum += 3
		case 'f', 'h', 'v', 'w', 'y':
			sum += 4
		case 'k':
			sum += 5
		case 'j', 'x':
			sum += 8
		case 'q', 'z':
			sum += 10
		}
	}
	return sum
}