문제 링크 : 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를 출력해 주었다.
'코딩 > 백준 문제풀이' 카테고리의 다른 글
[백준 알고리즘 #4673] 셀프 넘버(Python3) (0) | 2021.03.04 |
---|---|
[백준 알고리즘 #2751] 수 정렬하기 2(Python3) (0) | 2021.03.03 |
[백준 알고리즘 #10828] 스택(Python3) (0) | 2021.03.03 |
[백준 알고리즘 #1152] 단어의 개수(Python3) (0) | 2021.03.02 |
[백준 알고리즘 #1436] 영화감독 숌(Python3) (0) | 2021.03.02 |