728x90
쉬운 문제다. 문자열을 하나하나씩 돌면서 어떤 알파벳이 가장 많이 쓰였는지 확인하고, 해당 알파벳을 대문자로 출력해주면 된다.
혹시 가장 많이 쓰인 알파벳이 2개 이상일 경우에는 '?(물음표)' 를 출력해주면 된다.
# 백준 1157 "단어 공부"
word = input().lower() # 입력 받은 문자열을 소문자로 변경
word_list = list(set(word)) # 문자열을 집합에 넣고 중복을 제거 후 리스트에 삽입
cnt = [] # 카운트를 세기 위한 리스트
for i in word_list: # 반복문을 통해 집합에 있는 알파벳을 i에 하나씩 추가
count = word.count(i) # i에 해당하는 알파벳을 하나씩 word 문자열에서 뺌
cnt.append(count) # word 문자열에서 뺀 알파벳을 cnt에 추가
if cnt.count(max(cnt)) >= 2: #가장 많은 알파벳이 2개 이상이면 ? 출력
print('?')
else:
print(word_list[(cnt.index(max(cnt)))].upper()) # 그렇지 않으면 대문자로 출력
간단히 해결 ✨
728x90
'알고리즘' 카테고리의 다른 글
[백준] 4344 평균은넘겠지 (Java) (0) | 2022.07.27 |
---|---|
[백준] 4344 평균은 넘겠지 (Python) (0) | 2022.07.27 |
[백준] 2675 문자열 반복 (Python) (0) | 2022.06.09 |
[백준] 10809 알파벳 찾기 (Python) (0) | 2022.06.08 |
[백준] 11720 숫자의 합 (Python) (0) | 2022.06.07 |