문제 링크 : www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net



정답 코드

 

from collections import Counter

text = input().upper()
c = Counter(text)
M = 0
ans = ''

for i, j in c.items():
    if j > M:
        M = j; ans = i
    
    elif j == M:
        M = j; ans = '?'
        
print(ans)

문제 풀이

 

해당 문제를 쉽게 풀이하기 위해서 Counter을 import 해서 사용하였다.

 

우선 대,소문자를 따로 구분하지 않기 위해서 text를 입력받을 때 upper()을 사용하여 모두 대문자로 변환시켜주었다.

 

그 후 입력받은 text를 Counter 함수를 사용해서 변환시켜 주었으며, for문을 통해서 최대 빈도를 구해서 M에 저장시키며 해당 단어는 ans에 저장하여 주었다.

모든 단어에 대해서 실행을 완료한 뒤 최종적으로 ans를 출력해 주었다.

+ Recent posts