- 내 풀이
- 처음엔 시간초과
- 오답이 된 부분: 개수가 같은 값이 나오면 break 해버렸는데
- 이렇게 하면 뒤에 더 개수가 많은 문자를 확인하기도 전에 앞에 개수만 비교후 종료됨
st=input().upper()
st_copy=list(set(st))
result=""
for idx, s in enumerate(st_copy):
if idx==0:
cnt=st.count(s)
result=s
continue
if(st.count(s)==cnt):
print("?")
break
if cnt<st.count(s):
cnt=st.count(s)
result=s
else:
print(result)
- 시간초과 -> set()으로 중복제거한 값을 for문에 돌리면서 해결
- 전체 개수 다 체크한 후에 가장 많이 나온 값 체크
st=input().upper()
st_copy=list(set(st))
cnt=[]
result=""
for s in st_copy:
cnt.append(st.count(s))
if cnt.count(max(cnt))>1:
print("?")
else:
print(st_copy[cnt.index(max(cnt))])