[백준] 1157번: 단어 공부
백준 1157번
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
word = input().upper()
unique_word = list(set(word))
cnt_list = []
for u in unique_word:
cnt_list.append(word.count(u))
if(cnt_list.count(max(cnt_list)) > 1):
print('?')
else:
max_index = cnt_list.index(max(cnt_list))
print(unique_word[max_index])
전부 다 대문자로 바꿔주면서 입력 받는다.
unique_word는 set으로 중복되는 애들을 걸러낸다. 예제의 Mississipi 라면 MISP 가 들어가겠다. 물론 순서는 보장받지 못한다.
cnt_list 로 각 문자가 몇개 나왔었는지 저장한다. String.count()함수 사용했다.
저장 되는 순서는 unique_list가 M,I,S,P 순이라면, 이 순서대로 M의 개수, I의 개수.. 로 저장된다.
max가 1개보다 많으면 ? 출력하면 되고,
아니라면 max_index를 구해서 unique_word에서 찾아내면 된다. 순서가 같으니까.
Author And Source
이 문제에 관하여([백준] 1157번: 단어 공부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@malza_0408/백준-1157번-단어-공부저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)