알고리즘 BOJ
백준 1157 파이썬 | 단어 공부
콘2조아
2022. 2. 10. 16:14
코드
S = input()
S = S.upper()
S_check = []
for i in range(65, 91):
S_check.append(S.count(chr(i)))
max_N = max(S_check)
if S_check.count(max_N) == 1:
print(chr(S_check.index(max_N) + 65))
else:
print("?")
설명
대문자 소문자를 구분하지 않고 가장 많이 사용된 알파벳을 찾아야하고, 출력할 때도 대문자로 출력해야 한다. 그래서 처음부터 upper() 함수를 이용해 주어진 단어를 모두 대문자로 바꾸고 시작한다. 단어에서 가장 많이 사용된 알파벳을 찾기 위해 아스키 코드를 이용하였다. A(65) 부터 Z(90) 까지 주어진 단어에서 해당 되는 알파벳이 몇 개 있는지를 모두 세어 S_check 에 추가해준다. 그리고 알파벳이 가장 많이 사용된 횟수를 max_N 으로 받는다. 마지막의 조건문에서 가장 많이 사용된 알파벳이 여러개 있는 경우를 걸러 출력해준다.
메모리: 30732 KB
시간: 100 ms
문제
https://www.acmicpc.net/problem/1157
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net