Мне дали домашнее задание со следующим утверждением:
Напишите программу, которая считает все символы в строке, кроме пробела ('').
Распечатать все вхождения в следующем формате:
{char} -> {occurrences}
Я написал программу в char, но получаю сообщение об ошибке тайм-аута, когда отправляю ее в домашнюю систему. Вот мой код:
SortedDictionary<char, int> text = new SortedDictionary<char, int>();
char[] characters = Console.ReadLine()
.Where(x => !Char.IsWhiteSpace(x))
.ToArray();
foreach (var character in characters)
{
if (text.ContainsKey(character))
{
text[character]++;
}
else
{
text.Add(character, 1);
}
}
foreach (var character in text.OrderByDescending(x => x.Value))
{
Console.WriteLine($"{character.Key} -> {character.Value}");
}
Я не могу понять, как читать это как строку, и все равно получаю результат. Вот пример:
"text text text" = t -> 6 e -> 3 x -> 3