문제
코드
My answer
import sys
input=sys.stdin.readline
n=int(input())
for i in range(n):
tmp=dict()
code=input().rstrip()
for j in code:
if(j!=" "):
if(j not in tmp):
tmp[j]=1
else:
tmp[j]+=1
tmp=sorted(tmp.items(), key=lambda x:-x[1])
if(len(tmp)==1):print(tmp[0][0])
elif(tmp[0][1]==tmp[1][1]):
print("?")
else:print(tmp[0][0])
Another answer
import statistics as s
for _ in[0]*int(input()):
try:print(s.mode(input().replace(' ',"")))
except:print('?')
풀이
내 코드는 그냥 문자열을 입력받고 문자열의 문자들에 대한 딕셔너리를 만든 후 정렬해서 문제를 풀었다. 아래 코드는 파이썬의 statistics 모듈의 mode함수를 이용했는데 mode함수는 최빈값을 찾는 함수이다. 다음번에 stastistics 모듈에 대해서 자세하게 알고리즘 카테고리에 글을 써보도록 하겠다!
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #13305- 주유소 (0) | 2022.01.16 |
---|---|
[Python] 백준 #1931- 회의실 배정[try_again] (0) | 2022.01.16 |
[Python] 백준 #11365- !밀비 급일 (0) | 2022.01.15 |
[Python] 백준 #3029- 경고 (0) | 2022.01.15 |
[Python] 백준 #18511- 큰 수 구성하기[try_again] (0) | 2022.01.14 |