반응형
[문제 출처]
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
[소스 코드]
빈도를 세야 하기에 딕셔너리가 좋겠다 싶었는데, 오히려 딕셔너리로 풀어서 복잡하게 푼 문제다.
다른 분들의 풀이를 보면 대부분 리스트를 사용했다.
다양한 접근을 생각하도록 노력해야겠다.
#1157
word = input().upper()
result = dict()
for w in word:
if w in result.keys():
result[w] += 1
else:
result[w] = 1
max = 0
max_k = 'A'
cnt = 1
for k, v in result.items():
if v > max:
cnt = 1
max = v
max_k = k
elif v==max:
cnt += 1
if cnt > 1:
print("?")
else:
print(max_k)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 3273 sumX (0) | 2022.12.27 |
---|---|
[python/파이썬] 백준 11022 A+B - 8 (0) | 2022.12.26 |
[python/파이썬] 백준 15828 Router (0) | 2022.12.22 |
[python/파이썬] 백준 1021 회전하는 큐 (0) | 2022.12.21 |
[python/파이썬] 백준 11866 요세푸스 문제 0 (0) | 2022.12.20 |