If a = 1, b = 2, c = 3 ... z = 26
Then l + o + v + e = 54
and f + r + i + e + n + d + s + h + i + p = 108
So friendship is twice as strong as lo...
For further actions, you may consider blocking this person and/or reporting abuse
A bit like @nicolas Hervé, using the
reduce
method:[...a]
transforms the string to an array with every character (["l", "o", "v", "e"]
)reduce
methods will loop through every character, get its charCode, subtract96
to it (the charCode associated with"a"
+ 1), and sum everythingI started picking up ruby for rails, so here is my shining gem.
Try it out here
word.rb
word_test.rb
Thanks to @ynndvn for showing me
reduce
method, it exist too in Swift language and it's awesome !!!This is my solution in Swift :
("a".."z").to_a is nifty!
Well, my first attempt had me iterating calling
.index
on("a".."z")
only to find out that you can't call index on a range, so in trying to work around that I realized I could just convert the range into an array... :)Here is the simple solution with Python:
A little solution for Ruby :) this was fun!
Oh nice! That's better !
I forgot
String
are a table ofCharacter
so you rightcompactMap
is useless.I have totally ignored emojis because the challenger treat only letter
a
toz
So thank you for your feedback, your optimisation is truly better 👌
My solution to the challenge using map and reduce in Python. If anyone has any suggestions on how to improve it, I would love to hear! :)
In PHP
EDIT:
Haskell
Playground
Here.
Here is my fun solution using Kotlin:
Ah okay gotcha, thank ya for the tip!
c#, one liner using linq, ignoring non-letters chars:
My Python Algorithm:
Thanks for your insight. I didn't know about subtract and when the second solution is kind of obscure to me it seems very cool and short.