백준 1157번 Python

2021. 10. 25. 21:01

<문제>

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.

https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

<문제 풀이>

word = input().upper()
word_alphabet = list(set(word))  # 입력받은 문자열에서 중복값을 제거
cnt_list = []  # 알파벳이 몇번 나왔는지 들어갈 array

for x in word_alphabet:
    cnt = word.count(x)
    cnt_list.append(cnt)  # count 숫자를 리스트에 append


if cnt_list.count(max(cnt_list)) > 1:  # count 숫자 최대값이 중복되면
    print('?')
else:
    max_index = cnt_list.index(max(cnt_list))  # count 숫자 최대값 인덱스(위치)
    print(word_alphabet[max_index])
반응형

'Algorithm' 카테고리의 다른 글

백준 2941번 Python  (0) 2021.10.25
백준 2884번 Python  (0) 2021.10.25
내일배움단 알고리즘 강의 1주차  (0) 2021.10.20
백준 10869 Python  (0) 2021.10.20
백준 2588 Python  (0) 2021.10.20

BELATED ARTICLES

more