in reply to Challenge: Letter Power
Given a list of flowers, the algorithm to find which scores highest in your game should be something like:
sub calculate_score { my $word = shift(); my $score = 0; my %letter_value = (); my @letters = split( '', $word ); foreach ( @letters ) { if ( defined( $letter_value{$_} ) ) { $letter_value{$_} = $letter_value{$_} * 2; $score += $letter_value{$_}; } else { $score += 1; $letter_value{$_} = 1; } } return $score; }
Which assumes that each letter is worth 1 the first time you use it, 2 the second time, 4 the third and so on. it gives me a score of 18 for "alabama" and a score of 47 for "lillipilli".
But as I say, I don't know how you get your lists of words in the first place.
($_='kkvvttuu bbooppuuiiffss qqffssmm iibbddllffss')
=~y~b-v~a-z~s; print
|
|---|