I was able to answer the exercise using the following code where also Mosh presents an alternative solution using dictionaries:
sentence = "This is a common interview question"
sentence_unpack = [*sentence]
count = [(sentence_unpack.count(x), x) for x in sentence_unpack]
max(sorted(list(set(count)), reverse = True), key = lambda x: x)
However this solution and Mosh solution eliminate ties.
Is there a way to solve the exercise without eliminating ties and doing automatically? That is sorting a list with tuples and obtaining the maximum values without eliminating ties. Therefore obtaining (5, ‘i’) and (5, ’ ')
For example I search for the max function and I obtain the following, Built-in Functions — Python 3.9.2 documentation :
“… If multiple items are maximal, the function returns the first one encountered. …”
So I didn’t find I way to find all the maximum values when you obtain ties.
I know this is not efficient when you have something like [5, 3, 4, 5] but in the case of [(5, “a”), (3, “b”), (4, “c”), (5, “e”)] it make sense to obtain all the maximum values if you use only the first component of the tuple to find the maximum values.