Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
collections.Counter and creative sort key solution in Clear category for The Most Wanted Letter by jmegner
'''
author: Jacob Egner
date: 2015-06-29 or somewhat before
island: home
for latest versions of my solutions, see my checkio solution github repo:
https://github.com/jmegner/CheckioPuzzles
'''
from collections import Counter
def checkio(text):
alphaText = [elem for elem in text.lower() if str(elem).isalpha()]
alphaCtr = Counter(alphaText)
orderedLettersAndCounts = sorted(
alphaCtr.items(),
key=lambda pair: (-pair[1], pair[0])
)
return orderedLettersAndCounts[0][0]
if __name__ == '__main__':
assert checkio("Hello World!") == "l", "Hello test"
assert checkio("How do you do?") == "o", "O is most wanted"
assert checkio("One") == "e", "All letter only once."
assert checkio("Oops!") == "o", "Don't forget about lower case."
assert checkio("AAaooo!!!!") == "a", "Only letters."
assert checkio("abe") == "a", "The First."
print("Start the long test")
assert checkio("a" * 9000 + "b" * 1000) == "a", "Long."
print("The local tests are done.")
July 28, 2015