알고리즘/백준
[백준-파이썬] 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개 이상일 때 ?를 출력 아니면 해당 문자 출력