text = input()
dict = {}
for t in text:
if t.upper() in dict:
dict[t.upper()] += 1
else:
dict[t.upper()] = 1
sorted_dict = sorted(dict.items(), key= lambda x:x[1], reverse= True)
max_value = max(sorted_dict, key= lambda x:x[1])
count = 0
for key, value in sorted_dict:
if value == max_value[1]:
count += 1
if count > 1:
print("?")
else:
print(max_value[0])
처음엔 이렇게 풀었는데 효율적이지 못한 것 같아서 구글링을 했다
text = input().upper()
set_text = list(set(text))
result = []
for t in set_text:
result.append(text.count(t))
if result.count(max(result)) > 1:
print("?")
else:
print(set_text[result.index(max(result))])
횟수를 기록하는 문제에 접근할 때면 계속 딕셔너리를 쓰는 방법만 생각하는데 set을 이용하는 방법도 생각해보자
upper함수
text = input().upper()
하면 input()의 내용이 모두 대문자로 바뀐다.
text = [x.upper() for x in input()] 이렇게 안써도 된다.
count함수
찾고자하는 문자열.count('찾으려는 문자')
딕셔너리 정렬
sorted(dict.items(), key= lambda x:x[1], reverse= True)
브론즈인데 실버보다 배울 점이 많은 문제였다 !