알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
Mississipi
?
zZa
Z
z
Z
baaa
A
alphabet_list = 'abcdefghijklmnopqrstuvwxyz'
max_count = 0
max_alphabet = 0
str = input()
lower_str = str.lower()
for alphabet in alphabet_list:
if max_count < lower_str.count(alphabet):
max_alphabet = alphabet
max_count = lower_str.count(alphabet)
elif max_count == lower_str.count(alphabet):
max_alphabet = '?'
print(max_alphabet.upper())
str = input().upper()
str_list = list(set(str))
count_list = [str.count(i) for i in str_list]
if count_list.count(max(count_list)) > 1:
print('?')
else:
print(str_list[count_list.index(max(count_list))])
문자열 함수에 대해 알게 되었다 (count)
다른 사람의 풀이를 보면서 list, set을 사용하는 방식을 알게 되었다
리스트컴프리헨션의 사용 예시를 볼 수 있었다
내장함수 max의 사용 예시를 볼 수 있었다
리스트 함수인 index의 사용 예시를 볼 수 있었다