본문 바로가기

알고리즘/백준

백준 1371 - 가장 많은 글자

문제

영어에서는 어떤 글자가 다른 글자보다 많이 쓰인다. 예를 들어, 긴 글에서 약 12.31% 글자는 e이다.

어떤 글이 주어졌을 때, 가장 많이 나온 글자를 출력하는 프로그램을 작성하시오.

입력

첫째 줄부터 글의 문장이 주어진다. 글은 최대 50개의 줄로 이루어져 있고, 각 줄은 최대 50개의 글자로 이루어져 있다. 각 줄에는 공백과 알파벳 소문자만 있다. 문장에 알파벳은 적어도 하나 이상 있다.

출력

첫째 줄에 가장 많이 나온 문자를 출력한다. 여러 개일 경우에는 알파벳 순으로 앞서는 것부터 모두 공백없이 출력한다.

 

예제 입력 

baekjoon online judge

예제 출력

eno

 

 

# 백준/브론즈2/가장 많은 글자


import sys

lines = sys.stdin.read()

alph = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']

idx = []

for i in range(len(alph)):
    idx.append(lines.count(alph[i]))

max_num = max(idx)
        
for i in range(len(idx)):
    if max_num == idx[i]:
        print(alph[i], end='')
        
# sys.stdin.readline() 개행문자를 포함한 한 줄만 입력된다.
# sys.stdin.readlines() 개행문자를 포함하여 리스트로 저장된다.
# sys.stdin.read() 파일의 끝까지 한 번에 읽어오고 읽은대로 출력

 

종료 조건이 따로 없기 때문에 sys.stdin.read()를 통해 한 번에 읽어와야함

'알고리즘 > 백준' 카테고리의 다른 글