동백 // 백준 파이썬 1371번 가장 많은 글자

2021. 11. 1. 17:14컴퓨터 사이언스/Algorithm

반응형

가장 많은 글자


시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 6390 2403 2004 39.194%

문제


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

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

입력


첫째 줄부터 글의 문장이 주어진다. 글은 최대 5000글자로 구성되어 있고, 공백, 알파벳 소문자, 엔터로만 이루어져 있다. 그리고 적어도 하나의 알파벳이 있다.

출력


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

예제 입력 1


english is a west germanic language originating in england and is the first language for most people in the united kingdom the united states canada australia new zealand ireland and the anglophone caribbean it is used extensively as a second language and as an official language throughout the world especially in common wealth countries and in many international organizations

예제 출력 1


a

예제 입력 2


baekjoon online judge

예제 출력 2


eno

내 코드

import sys
# 길이 결과값을 저장할 리스트
li = [0]*26

# sys.stdin.read()를 통해 입력을 eof 날 때 까지 받을 수 있다.
# 또한 try, except를 이용하여, 입력을 eof 날 때 까지 받을 수 있다.
s = sys.stdin.read().replace('\n', '').replace(' ','')

# li 리스트의 0번 인덱스(a)부터 해당 문자가 존재한다면 1씩 추가해준다.
for i in s:
    li[ord(i)-97] += 1


for j in range(26):
    # 만약 리스트의 인덱스가 최댓값과 같다면(최댓값이 여러개라면)
    if li[j] == max(li):
        # 문자를 알파벳 순서에 따라 출력한다.
        print(chr(97+j), end ='')
반응형

 

반응형