📝 문제
💡 영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다.
예를 들어, 긴 글에서 약 12.31% 글자는 e이다.
어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오.
⚙️ 입력 : 첫째 줄부터 글의 문장이 주어진다.
글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다.
각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이상 있다.
⚙️ 출력 : 첫째 줄에 가장 많이 나온 문자를 출력한다.
여러 개일 경우에는 알파벳 순으로 앞서는 것부터 모두 공백없이 출력한다.
1371번: 가장 많은 글자
첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이
www.acmicpc.net
✅ 풀이
import sys
text = sys.stdin.read()
alp = "abcdefghijklmnopqrstuvwxyz"
af = []
for i in alp:
af.append(text.count(i))
mode = max(af)
position = []
ans = ""
for _ in range(af.count(mode)):
ans += alp[af.index(mode)]
af[af.index(mode)] = -1
print(ans)
💡 여러 줄을 한번에 입력받기 위해 read()를 사용했다.
모든 알파벳을 하나의 문자열로 연결해둔 다음 입력된 문장에서 알파벳을 카운트했다.
그 다음 가장 많이 카운트된 횟수를 찾고,
여러개일 가능성이 있으므로, 최댓값이 count된 횟수만큼 반복을 해주어
해당하는 알파벳을 출력하도록 해주었다.