Допустим, ваш ввод
val str = "ykvhorsqve kfkq jhjibercdptf efevxax ccr vnsmumqby jwhxvamegupfcj lierziuopbcsutm"
Вы можете вести карту со значениями для каждого символа как
val charMap = Map(
'a' -> 1,
'b' -> 2,
'c' -> 3,
'd' -> 4,
'e' -> 5,
'f' -> 6,
'g' -> 7,
'h' -> 8,
'i' -> 9,
'j' -> 10,
'k' -> 11,
'l' -> 12,
'm' -> 13,
'n' -> 14,
'o' -> 15,
'p' -> 16,
'q' -> 17,
'r' -> 18,
's' -> 19,
't' -> 20,
'u' -> 21,
'v' -> 22,
'w' -> 23,
'x' -> 24,
'y' -> 25,
'z' -> 26,
)
Затем вы можете добавить простую функцию, которая будет вычислять количествокаждое слово
def countOfWord(str : String): Int = str.map(charMap).sum
Затем, применяя следующую операцию к вашей входной строке str
, вы получите желаемые результаты
str.split(" ").map(word => (word, countOfWord(word))).maxBy(_._2)._1
Это принесет вам желаемый результат
res0: String = lierziuopbcsutm