기록하는삶
[코딩 테스트 연습(파이썬/Python)] 백준 1157번 _ 단어 공부 본문
728x90
반응형
https://www.acmicpc.net/problem/1157
[문제]
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
[입력]
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
[출력]
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
[아이디어]
Counter 모듈 활용
from collections import Counter
s = input().upper()
c = Counter(s).most_common()
if len(c)==1: print(c[0][0])
elif c[0][1]==c[1][1]: print('?')
else: print(c[0][0])
+
from statistics import*
try:t=mode(input().upper())
except:t='?'
print(t)
과거에는 statistics.mode()가 최빈값이 있으면 반환하고, 없으면 error를 발생시켰던 것 같다. 그러나 지금은 최빈값 중 더 앞에 위치한 것(문자, 배열 등이 모두 가능)을 반환하여 해당 문제를 이 코드로 풀 수 없다.
728x90
반응형
'백준(Python) > 문자열' 카테고리의 다른 글
[코딩 테스트 연습(파이썬/Python)] 백준 1316번 _ 그룹 단어 체커 (0) | 2021.12.16 |
---|---|
[코딩 테스트 연습(파이썬/Python)] 백준 9012번 _ 괄호 (0) | 2021.12.16 |
[코딩 테스트 연습(파이썬/Python)] 백준 8958번 _ OX 퀴즈 (0) | 2021.12.16 |
[코딩 테스트 연습(파이썬/Python)] 백준 10809번 _ 알파벳 찾기 (0) | 2021.12.16 |
[코딩 테스트 연습(파이썬/Python)] 백준 1764번 _ 듣보잡 (0) | 2021.12.02 |