TÓPICO
Por que o código abaixo gera 100% wrong answer?
hborges3 perguntou 4 years ago
Eu submeti o código abaixo e recebi 100% wrong answer. Eu testei no UriDebug e com a entrada do próprio problema e a resposta foi a esperada. Se eu por '\n' após o print, eu consigo 20% de erro, o que não faz sentido para mim, pois que eu saiba o python pula automaticamente de linha quando vai dar o próximo print.
Minha lógica é simples, eu criei um dicionário com as letras e suas respectivas frequências. Eu leio o texto de entrada, converto todas as letras em minúsculas. Para cada caractere lido, se ele for uma letra pertencente ao meu dicionário(ignorando, assim, outros caracteres e espaços em branco) então seu valor de frequência é incrementado em 1. Em seguida, eu vejo qual é a maior frequência e armazendo em uma variável x. Depois, eu crio uma string vazia maxfreq_letters e vou adicionando as letras que tem frequência igual a x. No final de cada loop, eu faço o print da string(que está ordenada em ordem alfabética, pois as chaves do meu dicionário já estão ordenadas).
n = int(input())
for i in range(0,n):
dict = {'a':0,'b':0,'c':0,'d':0,'e':0,'f':0,'g':0,'h':0,'i':0,'j':0,'k':0,'l':0,'m':0,'n':0,'o':0,'p':0,'q':0,'r':0,'s':0,'t':0,'u':0,'v':0,'w':0,'x':0,'y':0,'z':0}
text = input()
text = text.lower()
for k in text:
if k in dict.keys():
dict[k] += 1
x = max(dict.values())
maxfreq_letters = ''
for i in dict.keys():
if dict[i] == x:
maxfreq_letters = maxfreq_letters + i
print(maxfreq_letters)