< 백준 1157 > 

문제 : 
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자는 구분하지 않는다. 

입력 :
첫재 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000,을 넘지 않는다. 

출력 :
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 '?'를 출력한다. 




< 실패한 내 코드 > 



 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
w = input()
uw = w.upper() #대문자로 변환
my_list = list(uw) #단어를 리스트로 변환
unique_list = list(set(my_list)) #리스트 원소 중 중복값 제거 
d = dict()

for c in unique_list: 
    d[c] = my_list.count(c)

if len(set(list(d.values()))) == len(d.values()): 
    output = [character for character, cnt in d.items() if cnt == max(d.values())]
    for character in output:
        print(character)
elif len(set(list(d.values()))) != len(d.values()):
    print('?')

왜 틀렸는지 모르겠다.  ㅜ

11번 줄 설명 : 딕셔너리 밸류 값으로 키 값 찾는 방법 :
[key  for (key, value) in dictOfWords.items() if value == 43]