How to find the second most frequent character in a string with Kotlin

1 Answer

0 votes
fun secondMostFrequentChar(str: String): Char? {
    // Step 1: Count the frequency of each character
    val frequencyMap = str.groupingBy { it }.eachCount()

    // Step 2: Sort the characters by frequency in descending order
    val sortedFrequencyList = frequencyMap.entries.sortedByDescending { it.value }

    // Step 3: Retrieve the second most frequent character
    return if (sortedFrequencyList.size > 1) sortedFrequencyList[1].key else null
}

fun main() {
    val s = "bbaddddccce";
    
    val result = secondMostFrequentChar(s)
    
    println("The second most frequent character is: '$result'")
}



 
/*
run:
   
The second most frequent character is: 'c'
   
*/

 



answered Nov 29, 2024 by avibootz

Related questions

...