티스토리 뷰
문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
입력
첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.
출력
첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.
예제 입력 1 복사
Mississipi
예제 출력 1 복사
?
예제 입력 2 복사
zZa
예제 출력 2 복사
Z
예제 입력 3 복사
z
예제 출력 3 복사
Z
예제 입력 4 복사
baaa
예제 출력 4 복사
A
✔코드
# [백준 1157번] - 단어 공부 - (브론즈1, 문자열)
word = input().upper()
num = []
for i in range(ord('A'),ord('Z')+1):
num.append(word.count(chr(i)))
if num.count(max(num)) == 1:
print(chr(num.index(max(num))+ ord('A')))
else:
print('?')
✔문제접근
upper(): 대문자로 변경
✔문제풀이
1. 알파벳을 입력받아서 대문자로 변경한다.
2. 아스키코드 A~Z 까지 for문을 돌려 count하고 리스트 num에 추가한다.
3. max(num)에 1개가 있으면 max(num)에 해당하는 알파벳을 출력한다.
4. 그 외에는 ?를 출력한다.
'알고리즘 (Python) > 백준 단계별' 카테고리의 다른 글
[백준(BOJ)]1076번 : 저항 - Python(파이썬) - (브론즈2, 문자열) (0) | 2022.08.22 |
---|---|
[백준(BOJ)]2908번 : 상수 - Python(파이썬) - (브론즈2, 문자열) (0) | 2022.08.19 |
[백준(BOJ)]25304번 : 영수증 - Python(파이썬) - (브론즈5, 반복문) (0) | 2022.08.17 |
[백준(BOJ)]2765번 : 문자열 반복 - Python(파이썬) - (브론즈2, 브루트 포스트) (0) | 2022.08.15 |
[백준(BOJ)]2798번 : 블랙잭 - Python(파이썬) - (브론즈2, 브루트 포스트) (0) | 2022.08.10 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 2798블랙잭
- 나는야 4학년 #5학년 까지 가보자구
- level2
- 스프링웹개발기초
- 브루트 포스법
- Spring
- 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
- object 클래스 # java
- 25083번
- level3
- 백준 18258번
- 백준14720 # 그리디 알고리즘 # greedy
- 25304번
- 11034번
- static #자바 메모리 구조 #멤버 변수
- 백준 10828번 # 스택
- 백준2720번 #그리디 알고리즘
- 올 겨울은 조금 따뜻할 것 같다.
- level1 # 입출력과 사칙연산
- heap area #stack area #static area #jvm
- java #예외처리 #throw #throws
- 12605번
- 명품 JAVA Programming - 황기태
- 백준17608번
- 이분탐색
- 자바 #자바문법 #자바기초 #참조형 #기본형
- 반복문
- 백준10871번
- java #추상클래스
- 단계10
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함