https://www.acmicpc.net/problem/1157
문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
코드
keys = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
Alphabet = dict.fromkeys(keys, 0)
str = input().upper()
for i in str:
if i in keys:
Alphabet[i] += 1
max = 0
index = ''
same = False
for i in keys:
if Alphabet[i] > max:
max = Alphabet[i]
index = i
same = False
elif Alphabet[i] == max:
same = True
if same:
print("?")
else:
print(index)
풀이
1. 알파벳 키 입력
2. 알파벳 딕셔너리에 키를 넣고 value값 0으로 초기화
3. 대문자로 변환한 문장을 입력받는다.
4. 그리고 존재하는 철자마다 +1해준다.
5. 이제 가장 많은 철자를 구해주면 되는데 여러 개인 경우 ?를 출력해야 해서 boolean 변수를 사용했다.
6. 개수가 같은 철자가 여러 개면 ?를 출력하고 아니면 max인 키값을 출력한다.
'백준 > 브론즈1' 카테고리의 다른 글
| [Python] 백준 1236번 - 성 지키기 (0) | 2025.04.30 |
|---|---|
| [Python] 백준 1292번 - 쉽게 푸는 문제 (1) | 2025.04.30 |
| [Python] 백준 2755번 - 이번학기 평점은 몇 점? (0) | 2025.04.29 |
| [Python] 백준 1037번 - 약수 (0) | 2025.04.28 |
| [Python] 백준 1032번 - 명령 프롬프트 (0) | 2025.04.28 |