이번 문제는 입력 받은 문자열 속에서
반복적으로 사용된 알파벳 중 가장 많이 사용된 문자를 대문자로 출력하면 된다
만약 한 문자열 안에서 가장 많이 사용된 문자가 여러개라면 ?를 출력해야 한다
word = input().upper()
origin_word = list(set(word))
count_list = []
for i in origin_word:
count = word.count(i)
count_list.append(count)
if count_list.count(max(count_list)) > 1:
print('?')
else:
max_index = count_list.index(max(count_list))
print(origin_word[max_index])
우선, upper 함수를 이용해서 입력값의 문자열을 전부 대문자로 변경해 저장한다.
여기에서 origin_word에 set 함수를 이용해 반복적으로 사용된 것들을 전부 지우고
입력받은 문자열 속 모든 문자들이 단 한번씩만 들어가 있도록 변경해준다
그리고 for 문에서 origin_word 속에 있는 각 문자를 i에 집어넣어
실제 입력받은 word 문자열에 해당 문자가 몇 개 들어가 있는지 count 해준다
만약 이 카운트 속 max 값이 여러 개가 존재한다면 이는 ?를 출력해야 하는 조건을 만족한다
그렇지 않다면 max 값을 가지는 문자가 origin_word에서 몇 번째에 있었는지 index 함수로 받아내
해당하는 문자를 출력해주면 정답이 된다
'코딩 테스트 > 백준 파이썬 문제 풀이' 카테고리의 다른 글
[백준 2908번 파이썬] 상수 (0) | 2022.04.02 |
---|---|
[백준 1152번 파이썬] 단어의 개수 (0) | 2022.04.02 |
[백준 2675번 파이썬] 문자열 반복 (0) | 2022.04.02 |
[백준 10809번 파이썬] 알파벳 찾기 (0) | 2022.04.01 |
[백준 11720번 파이썬] 숫자의 합 (0) | 2022.04.01 |