-
백준 1157 파이썬 | 단어 공부알고리즘 BOJ 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
'알고리즘 BOJ' 카테고리의 다른 글
백준 1546 파이썬 | 평균 (0) 2022.02.10 백준 1330 파이썬 | 두 수 비교하기 (0) 2022.02.10 백준 1152 파이썬 | 단어의 개수 (0) 2022.02.09 백준 1008 파이썬 | A/B (0) 2022.02.09 백준 1001 파이썬 | A-B (0) 2022.02.09