[Python] 백준 1157번 - 단어 공부

유빈·2025년 1월 8일
0

Algorithms

목록 보기
15/35
post-thumbnail

백준 문제집 PS

ses0028님의 "IT기업 및 대기업 계열사 코테보면서 비슷했던 문제들(지속적으로 업데이트 중)" (현재 기준 89문제)

이번 방학 2달동안 다 푸는 것이 목표입니다.

25.01.08 - 브론즈 5문제

문제문제 제목문제 티어문제 링크
23971ZOAC 4브론즈 3https://www.acmicpc.net/problem/23971
5073삼각형과 세 변브론즈 3https://www.acmicpc.net/problem/5073
2292벌집브론즈 2https://www.acmicpc.net/problem/2292
1157단어 공부브론즈 1https://www.acmicpc.net/problem/1157
2816디지털 티비브론즈 1https://www.acmicpc.net/problem/2816


1157번 - 단어 공부


전체 코드 및 설명

input = open(0).readline

words = list(input().upper().strip())
alphabet = {}

for w in words:
    if w not in alphabet:
        alphabet[w] = 1
    else:
        alphabet[w] += 1

most_appear = sorted(alphabet.items(), key=lambda x: x[1])[-1]
if len(alpha_list := list(alphabet.values())) == 1:
    print(most_appear[0])
elif alpha_list.count(most_appear[1]) != 1:
    print("?")
else:
    print(most_appear[0])

하나 놓쳤던 부분이 딱 하나의 알파벳으로만 이루어진 단어가 주어질 때이다.

만약 zzzZZZ가 주어지면 ?이 아닌 Z가 출력되도록 로직을 작성하자.

profile
🌱

0개의 댓글