728x90
728x90
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
단어개수에 따라 내림차순으로 정렬하고 싶었는데, 가장 큰 수의 스펠링을 알아내기 위해 딕셔너리를 사용했다.
딕셔너리를 처음 사용해봤는데, 이것도 신기하면서도 편리하다..
앞서 배웠던 find()에서 착안해 count()를 사용해 알파벳마다 해당하는 단어 개수를 넣어줬다.
sorted()를 이용해 내림차순으로 정렬하고(sort 함수는 사용할 수 없었다. 딕셔너리 안받아줌..),
리스트가 되어버린 newD를 이차원 리스트 취급...?해줘가며 값을 뽑아냈다.
재밌는 문제였다.
S = input().upper()
alpb = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
dic = {}
for x in alpb:
dic[x] = S.count(x)
newD = sorted(dic.items(), key=lambda x: x[1], reverse=True)
if newD[0][1] == newD[1][1]:
print("?")
else:
print(newD[0][0])
728x90
728x90
'[Python]BaekJoon.AC' 카테고리의 다른 글
[Python]백준 BaekJoon.AC 10250 : ACM 호텔(ceil, zfill) (0) | 2022.01.05 |
---|---|
[Python]백준 BaekJoon.AC 4153 : 직각삼각형(while, 제곱) (0) | 2022.01.04 |
[Python]백준 BaekJoon.AC 1085 : 직사각형에서 탈출(min()) (0) | 2022.01.04 |
[Python]백준 BaekJoon.AC 1546 : 평균(list, sort()) (0) | 2022.01.03 |
[Python]백준 BaekJoon.AC 11720 : 숫자의 합(for문) (0) | 2022.01.03 |
[Python]백준 BaekJoon.AC 10809 : 알파벳 찾기(find()) (0) | 2022.01.03 |
[Python]백준 BaekJoon.AC 8958 : OX퀴즈(for문) (0) | 2022.01.03 |
[Python]백준 BaekJoon.AC 3052 : 나머지(list, set) (0) | 2022.01.03 |