단어공부 백준 1157번
파이썬 알고리즘
단어공부 - 백준 1157번
문제
해설
- 입출력 -> 대문자로 → 카운팅 리스트 필요
- 카운팅 리스트
- 목차는 set으로 구현, 대응 값들은 count로 구현
- set, list에 자동대응
- 문자별 최다 카운팅→ 인덱스 함수로 인덱스 찾기 -> 대문자로 출력, 2개 이상이면 “?” 출력
- 여기서 count 리스트를 보관 안하고 최댓값 시점일때 끝내는 방식도 있음
처음 풀이
w = input().upper()
upper_words = list(set(w))
cnt_list = []
for x in upper_words :
cnt_list.append(w.count(x))
if cnt_list.count(max(cnt_list)) > 1 :
print('?')
else :
index = cnt_list.index(max(cnt_list))
print(upper_words[index])
다른 풀이
s = input().upper()
a = 0
for i in set(s):
c = s.count(i)
if a == c: b = '?'
if a < c:
a = c
b = i
print(b)