1. 문제 설명
2. 풀이 과정
word에 입력 단어를 소문자로 변환하여 받는다.
숫자의 빈도값을 넣을 딕셔너리를 char_frequency에 초기화한다.
word에 있는 문자 char을 반복해서 받는다.
char.isalpha()로 각 문자가 알파벳인지 확인한다.
char이 char_frequency에 있다면 char_frequency[char]에 1을 더한다.
없다면 char_frequency[char]을 1로 초기화한다.
최대 빈도수를 찾기 위해 max_frequency값을 max( char_frequency.values())로 딕셔너리의 값들 중에서 찾는다.
최대 빈도수에 해당하는 알파벳을 찾기 위해 most_frequent_chars에 char_frequency.items()로 char과 freq를 찾아 freq == max_frequency일때의 char값을 넣는다.
most_frequent_chars값이 여러 개이면 "?"를 출력하고
아니면 most_frequent_chars값을 대문자upper()로 출력한다.
3. 코드
word = input().lower()
char_frequency = {}
for char in word:
if char.isalpha():
if char in char_frequency:
char_frequency[char] += 1
else:
char_frequency[char] = 1
max_frequency = max(char_frequency.values())
most_frequent_chars = [char for char, freq in char_frequency.items() if freq == max_frequency]
if len(most_frequent_chars) > 1:
print("?")
else:
print(most_frequent_chars[0].upper())
'Baekjoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준][6단계 심화 1] 1316번 /그룹 단어 체커 (파이썬/Python) (0) | 2025.03.25 |
---|---|
[백준][6단계 심화 1] 2941번 /크로아티아 알파벳 (파이썬/Python) (0) | 2025.03.25 |
[백준][6단계 심화 1] 10988번 /팰린드롬인지 확인하기(파이썬/Python) (0) | 2025.03.19 |
[백준][6단계 심화 1] 2444번 /별 찍기 - 7 (파이썬/Python) (0) | 2025.03.19 |
[백준][6단계 심화 1] 3003번 /킹, 퀸, 룩, 비숍, 나이트, 폰 (파이썬/Python) (0) | 2025.03.19 |