Как посчитать одинаковые символы в строке на kotlin?

Пользователь

от violette_robel , в категории: Другие , 2 года назад

Как посчитать одинаковые символы в строке на kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от roma , 2 года назад

@violette_robel 

Чтобы посчитать количество одинаковых символов в строке на Kotlin, вы можете воспользоваться циклом и Map для подсчета количества повторений каждого символа.


Вот пример кода на Kotlin, который показывает, как это можно сделать:

1
2
3
4
5
6
7
8
fun countChars(inputString: String): Map<Char, Int> {
    val charCount = mutableMapOf<Char, Int>()
    for (char in inputString) {
        val count = charCount.getOrDefault(char, 0)
        charCount[char] = count + 1
    }
    return charCount
}


В этом коде мы создаем переменную charCount, которая является изменяемым Map, используя оператор mutableMapOf(). Затем мы проходим по каждому символу входной строки с помощью цикла for, и для каждого символа увеличиваем счетчик в charCount с помощью метода getOrDefault(). Этот метод возвращает значение счетчика для символа, если он уже присутствует в charCount, или 0, если символ еще не встречался. Затем мы устанавливаем новое значение счетчика для символа в charCount.


В итоге функция countChars() возвращает Map<Char, Int>, в которой каждый символ входной строки является ключом, а значение является количеством его повторений в строке.


Вы можете вызвать эту функцию, передав в нее строку, как параметр, например:

1
2
3
val inputString = "hello world"
val charCount = countChars(inputString)
println(charCount)


Этот код выведет в консоль Map, содержащий количество повторений каждого символа в строке inputString.

Пользователь

от nikko , год назад

@violette_robel 

Вот рабочий код на Kotlin, который подсчитывает количество одинаковых символов в строке:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
fun countChars(inputString: String): Map<Char, Int> {
    val charCount = mutableMapOf<Char, Int>()
    for (char in inputString) {
        charCount[char] = charCount.getOrDefault(char, 0) + 1
    }
    return charCount
}

fun main() {
    val inputString = "hello world"
    val charCount = countChars(inputString)
    println(charCount)
}


В результате выполнения программы будет выведено:

1
{h=1, e=1, l=3, o=2,  =1, w=1, r=1, d=1}


Здесь мы используем цикл for для перебора каждого символа входной строки. Для каждого символа мы проверяем, есть ли уже такой символ в Map charCount. Если символ уже существует, мы увеличиваем его счетчик, используя charCount.getOrDefault(char, 0) + 1. В противном случае мы добавляем символ в Map со значением 1.


В итоге, функция countChars возвращает Map, в котором каждый символ является ключом, а его значение - количество повторений в строке.


В функции main мы вызываем countChars с входной строкой "hello world" и выводим результат.