[백준/Python] 1157 단어 공부

재활용병·2024년 1월 10일
0

코딩 테스트

목록 보기
18/157

[백준/Python] 1157 단어 공부


풀이 코드 및 설명

import sys

input_str = sys.stdin.readline().rstrip().upper()

alphabet_count = [0] * 26

for char in input_str:
    if 'A' <= char <= 'Z':
        index = ord(char) - ord('A')
        alphabet_count[index] += 1

max_count = max(alphabet_count)
most_frequent_alphabet = chr(ord('A')+ alphabet_count.index(max_count))

if alphabet_count.count(max_count) >= 2:
    print("?")
else:
    print(most_frequent_alphabet)
  • 들어오는 알파벳에 따라서 배열을 만들기 보다는 미리 26개의 알파벳 수에 맞는 배열을 생성
  • 아스키 코드를 사용하여 해당하는 알파벳의 index 에 맞는 배열 값을 증가
  • max 함수를 이용하여 가장 큰 값, index 를 사용하여 가장 많이 나타난 알파벳에 대해서 저장
  • 이를 비교하여 답을 출력했다.
profile
코딩 말고 개발

0개의 댓글

관련 채용 정보