STUDY_SEONMIN
1157. 단어 공부 본문
알파벳 대소문자로 된 단어가 주어지면 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않습니다.
만약 가장 많이 사용된 알파벳이 여러 개 존재할 경우 ?를 출력합니다.
from collections import Counter
S = input()
C = Counter(S.upper())
v = 0
k = ''
for key,value in C.items():
if value > v:
k = key
v = value
elif value == v:
k = '?'
print(k)
- collections 모듈의 Counter 클래스를 사용하면 문자열 안에서 각각의 문자가 몇 번씩 등장했는지를 알 수 있습니다.
이 클래스로 만든 객체는 마치 딕셔너리처럼 key(문자), value(등장 횟수) 형태로 이루어져있습니다. - 문자열 타입에 내장된 upper() 메서드를 이용해 대소문자의 구분을 없앤 상태의 문자열을 활용했습니다.
- 반복문을 활용해서 이 전까지 문자들의 등장횟수보다 현재 문자의 등장횟수가 더 많으면 해당 문자를 k에 할당함으로서 반복문이 종료되었을 때 가장 많이 등장한 문자가 k라는 변수에 할당되도록 하였습니다.
단, 가장 많이 등장한 문자가 여러 개면 '?'를 출력해야 하므로 예외처리를 해주었습니다.
'STUDY > Baekjoon Algorithm' 카테고리의 다른 글
2908. 상수 (0) | 2021.07.06 |
---|---|
1152. 단어의 개수 (0) | 2021.07.06 |
2675. 문자열 반복 (0) | 2021.07.05 |
10809. 알파벳 찾기 (0) | 2021.07.05 |
11720. 숫자의 합 (0) | 2021.07.05 |
Comments