[백준 1157] 단어공부

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
x =input().upper()
used = {}
for i in x:
if i not in used:
used[i] = 1
else:
used[i]+=1
lis = sorted(used.items(),key = (lambda x:x[1]),reverse=True)
if len(lis)!=1 and lis[0][1]==lis[1][1]:
print("?")
else:
print(lis[0][0])

counter 모듈을 사용하면 더 쉽겠지만 구현을 연습하기 위해 그냥 dict를 써서 구현해주었다.

easy했다.

Author

jo-member

Posted on

2021-01-02

Updated on

2021-04-22

Licensed under

Comments