Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 2292번
- 민병철유폰
- 영어회화
- 영어말하기
- 25206
- 파이썬
- 무료수업후기
- 그룹 단어 체커
- 백준 2738번
- 백준
- 전화영어
- 1316번
- 2941번
- 백준 25206
- 백준 파이썬
- 백준 1316
- 랭디
- 백준2941번
- 백준 2292
- 백준 2292번 파이썬
- 백준 벌집
- 화상영어
- 전화영어비교
- YBM
- 너의 평점은
- 랭디후기
- 백준 25206번
- 백준크로아티아알파벳
- 백준파이썬
- 백준 행렬 덧셈
Archives
- Today
- Total
가영이의 스토리
[백준/Python] 백준 1157번 단어 공부 본문
🏆백준 1157번 - 단어 공부
1157번: 단어 공부
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
www.acmicpc.net
✍️문제
알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.
❓정답
word = input().upper() # 대문자로 입력받기
word_list = list(set(word))
cnt = []
for i in word_list:
cnt.append(word.count(i))
if cnt.count(max(cnt)) > 1:
print('?')
else:
print(word_list[cnt.index(max(cnt))]) # cnt가 가장 높은 인덱스의 word_list 추출
💫 해설 및 한줄평
word를 upper()을 통해 대문자로 입력받는다.
그리고 set로 만든 후 list로 구성해줘서 중복된 값이 없는 list로 만들어준다.
이후 word_list를 반복하여 cnt에 각 알파벳별로 몇개가 있는지 count한 수를 넣어준다.
이렇게 되면 다음과 같이 구성된다.word = abbccword_list = ['A', 'B', 'C']
cnt = [1, 2, 2]
그럼 이제 해야할건 cnt에서 가장 높은 수와 그 수를 가지는 인덱스를 word_list에서 출력하는것이다.
이때, max가 두개이상이라면 '?'를 출력해야한다.
따라서 cnt의 최댓값를 count한 후 1개 초과일때 ?를 출력하는 코드를 사용했다.
그 이외에는 cnt에서 max(cnt)의 인덱스값을 구한 후 word_list에 적용하여 출력하도록 하였다.
한참 들여다봤다 .. 갈수록 어려워진다 팟팅구리구리
'코딩연습장 > 백준' 카테고리의 다른 글
[백준/Python] 백준 1316번 그룹 단어 체커 (1) | 2023.08.28 |
---|---|
[백준/Python] 백준 2941번 크로아티아 알파벳 (0) | 2023.08.25 |
[백준/Python] 백준 10988번 펠린드롬인지 확인하기 (0) | 2023.08.24 |
[백준/Python] 백준 2444번 별 찍기-7 (0) | 2023.08.24 |
[백준/Python] 백준 5622번 다이얼 (0) | 2023.08.23 |
Comments