image

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='')

댓글남기기