-
Notifications
You must be signed in to change notification settings - Fork 68
/
Copy pathScrabble.rb
47 lines (38 loc) · 1.1 KB
/
Scrabble.rb
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
=begin
Write a program that, given a word, computes the scrabble score for that word.
Letter Values
You'll need these:
Letter Value
A, E, I, O, U, L, N, R, S, T 1
D, G 2
B, C, M, P 3
F, H, V, W, Y 4
K 5
J, X 8
Q, Z 10
There will be preloaded a $dict with all this values in your kata in form of a
hash $dict["E"] => 1.
Examples
scrabbleScore('cabbage') // => 14
"cabbage" should be scored as worth 14 points:
3 points for C
1 point for A, twice
3 points for B, twice
2 points for G
1 point for E
And to total:
3 + 2*1 + 2*3 + 2 + 1
= 3 + 2 + 6 + 3
= 5 + 9
= 14
Empty string should return 0. The string can contain whitespaces, you should
calculate the scrablle score only of the letters in that string.
scrabbleScore('') // => 0
scrabbleScore('ca bba g e') // => 14
=end
# My Solution
def scrabble_score(str)
result = 0
str.split("").each{|l| result += $dict[l.upcase] if $dict[l.upcase] != nil}
result
end