Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 금융문자분석경진대회
- Docker
- AI 경진대회
- 캐치카페
- 코로나19
- Real or Not? NLP with Disaster Tweets
- programmers
- Baekjoon
- 더현대서울 맛집
- gs25
- 편스토랑 우승상품
- 백준
- 자연어처리
- Kaggle
- 데이콘
- PYTHON
- github
- 맥북
- hackerrank
- Git
- dacon
- ChatGPT
- 편스토랑
- 우분투
- 프로그래머스 파이썬
- SW Expert Academy
- leetcode
- 파이썬
- ubuntu
- 프로그래머스
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 1157번 : 단어 공부 (Python) 본문
728x90
반응형
코딩 1일 1문제 오늘의 문제는 백준의 단어 공부 입니다.
Solution
from collections import Counter
inputStr = list(input().lower())
cnt = Counter(inputStr)
cnt_items = cnt.items()
cnt_nums = [num[1] for num in cnt_items]
max_num = max(cnt_nums)
if cnt_nums.count(max_num) != 1:
print("?")
else:
most_common_word = cnt.most_common(1)
print(most_common_word[0][0].upper())
Solution 풀이
collections의 Counter를 활용해서 문제를 풀었습니다.
먼저 입력 받은 문자열을 소문자로 변경하고 리스트로 만들어 줍니다.
그 다음 Counter를 통해서 문자열 속에 문자가 각각 몇 개씩 있는지 세어줍니다.
여기서 카운트 한 숫자를 cnt_nums 리스트로 만들어줍니다.
그리고 가장 큰 숫자가 cnt_nums에 두번이상 등장할 경우에 "?" 를 출력
그렇지 않을 경우에 가장 큰 문자를 대문자로 출력 합니다.
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 15552번 : 빠른 A+B (Python) (0) | 2021.04.28 |
---|---|
[BaekJoon] 2581번 : 소수 (Python) (0) | 2021.04.27 |
[BaekJoon] 10871번 : X보다 작은 수 (Python) (0) | 2021.04.25 |
[Programmers] 음양 더하기 (Python) (0) | 2021.04.24 |
[Programmers] 2016년 (Python) (0) | 2021.04.21 |
Comments