Эту задачку вам на собеседовании дали?
Если ещё актуально, то я пока в транспорте ехал накидал код свой,
тут в метод getTheMostPopWord(list: List<String>) кладём в параметры наш список, а метод взамен возвращает самое популярное слово в списке List языка Kotlin.
val list = listOf(
"Dog",
"Cat",
"Dog",
"Swim",
"Cat",
"Dog"
)
fun getTheMostPopWord(list: List<String>): String {
val map = HashMap<String, Int>()
for (i in 0 until list.size) {
var wordNumber = 1
val word = list[i]
if (!map.containsKey(word)) {
for (j in i until list.size - 1) {
if (list[j + 1] == word) {
wordNumber++
}
}
map[word] = wordNumber
}
}
return getMaxValue(map)
}
fun getMaxValue(map: HashMap<String, Int>): String {
var i = 0
var word = ""
for ((key, value) in map) {
if (i < value) {
i = value
}
}
for ((key, value) in map) {
if (i == value) {
word = key
}
}
return word
}
fun main() {
println("Word: ${getTheMostPopWord(list)}")
}