Hey Tech
문자열처리 #백준1157 #단어 공부 | 파이썬 풀이 본문
728x90
반응형
📚 문제
링크: https://www.acmicpc.net/problem/1157
💡 접근법
문자열 내 알파벳별 출현 횟수를 카운트하기 위해 파이썬 collections 라이브러리 내 Counter 모듈을 활용하였습니다.
최다 빈출 알파벳을 추출하기 위해 Counter 모듈에서 most_commons 함수를 활용하였습니다.
출현 횟수가 공동 1위인 알파벳이 있을 경우를 처리하기 위해 출현 빈도 1위와 2위를 비교하였습니다.
💻 코드
# https://www.acmicpc.net/problem/1157
from collections import Counter
input_string = input().lower() # 모든 문자 소문자로 치환
if len(input_string) == 1: # 문자열 길이가 1인 경우
print(input_string.upper()) # 대문자로 출력
else: # 문자열 길이가 2 이상인 경우
# 최다빈출 알파벳 2개 정보 선정
char_cnt = Counter(input_string).most_common(2)
# 출현 횟수가 공동 1위인 경우
if char_cnt[0][1] == char_cnt[1][1]:
print("?")
# 출현 횟수가 단독 1위인 경우
else:
print(char_cnt[0][0].upper())
✅ 정답 확인
👨💻 파이썬 파일(Github)
https://github.com/park-gb/algorithm-problem-solving/blob/main/string/boj_1157.py
포스팅 내용에 오류가 있거나 조언/지적/피드백 환영입니다!😄
아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다.
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다 :)
고맙습니다.
728x90
반응형
'알고리즘 > 문제풀이' 카테고리의 다른 글
문자열처리 #백준1316 #그룹 단어 체커 | 파이썬 풀이 (0) | 2021.10.12 |
---|---|
문자열처리 #백준1427 #소트인사이드 | 파이썬 풀이 (0) | 2021.10.11 |
문자열처리 #백준10809 #알파벳 찾기 | 파이썬 풀이 (0) | 2021.10.08 |
문자열처리 #백준1152 #단어의 개수 | 파이썬 풀이 (0) | 2021.10.07 |
문자열처리 #백준11720 #숫자의 합 | 파이썬 풀이 (0) | 2021.10.03 |