xyz Interview Question
NonesCountry: United States
Interview Type: Phone Interview
C# solution:
public static void PrintHightestCountOrdered(string input)
{
//int multiplier = 100;
if (input == null)
Console.WriteLine("Invalid input!!!");
Dictionary<char, int> dictionary = new Dictionary<char, int>();
foreach(var inputar in input.Split(' '))
{
foreach (char chr in inputar)
{
if (dictionary.ContainsKey(chr))
dictionary[chr]++;
else
dictionary.Add(chr, 1);
}
var items = from entry in dictionary
orderby entry.Value descending, entry.Key ascending
select entry;
dictionary = new Dictionary<char, int>();
foreach(var item in items)
{
Console.WriteLine($"{item.Key} - {item.Value} ");
}
Console.WriteLine("--------------------");
}
Elegant Python Solution:
- prudent_programmer March 06, 2018