[백준][Python] 1371. 가장 많은 글자
Bronze Ⅱ 🔗1371. 가장 많은 글자
📝문제 요약
문제 설명
영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다.
어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 글이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 글에 알파벳은 적어도 하나 이상 있다.
출력
첫째 줄에 가장 많이 나온 문자를 출력한다. 여러 개일 경우에는 알파벳 순으로 앞서는 것부터 모두 공백없이 출력한다.
✏️문제 풀이
- 입력이 많으므로
sys.stdin.read()
를 사용하여 입력을 받았다. - 알파벳이 26개이므로 26개의 0으로 채워진 리스트
alp
를 만든다. - for문을 통해 입력만큼 반복 시켰고,
- 아스키코드를 사용해서 문제를 해결했다.
- 해당 문자가 나오면 리스트
alp
위치에 +1을 하여 각 알파벳이 나오는 개수를 계산했다.
- 마지막으로 26번 반복하는 반복문을 만들고,
- max 값이면 다시 알파벳으로 변경하여 출력하도록하였다
- max값이 여러개일 것을 대비하여 if문을 사용하였다
💯제출 코드
import sys
s = sys.stdin.read().replace('\n','').replace(' ','')
alp = [0] * 26
for i in s :
alp[ord(i)-97] += 1
for j in range(26) :
if alp[j] == max(alp):
print(chr(97+j), end='')
댓글남기기