알고리즘/백준

[백준-파이썬] 1157번: 단어공부

Ferrero Rocher 2020. 8. 20. 23:16

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

 

1157번: 단어 공부

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

www.acmicpc.net

내 코드

import sys

word = str.upper(sys.stdin.readline())

temp = set(word[:-1])
dict_word = {}
for i in temp:
    dict_word[i] = word.count(i)
max_word = max(dict_word.values())
chr_a = ''
count = 0
for key, val in dict_word.items():
    if val == max_word:
        chr_a = key
        count += 1
        if count ==2:
            chr_a = '?'
            break
    
print(chr_a)
  • 중복된 문자 검색을 막기 위해 set을 사용
  • dict에 문자와 해당 문자 count 값을 key와 value에 넣음
  • value값의 최대값을 찾고 value값이 2개 이상일 때 ?를 출력 아니면 해당 문자 출력