Python 문제풀이_가장 많이 등장하는 알파벳찾기

hjseo-dev·2021년 6월 4일
0

Python 문제풀이

목록 보기
1/7
post-thumbnail

문제 풀이링크 : https://programmers.co.kr/learn/courses/4008/lessons/13246#

📍 가장 많이 등장하는 알파벳 찾기

어떤 원소 x가 주어진 시퀀스타입에 몇 번이나 등장하는지 세야 할 때
= collections.Counter 클래스를 사용
Counter : 단어에 포함된 각 알파벳의 글자 수를 세어주는 간단한 함수

✍️ 문제풀이
1. 먼저, Counter 클래스로 입력한 문자열의 글자수를 센다 (딕셔너리 형태로 저장된다 => {문자 : 빈도수})
2. 딕셔너리에 저장된 빈도수를 따로 리스트로 저장한다. values()로 추출!
3. 내림차순 정렬을 하여 큰 빈도수 부터 배치하고, 첫 원소인 가장 큰 빈도수를 저장한다.
4. 저장된 빈도수와 같은 값이 나오면, 해당 딕셔너리의 원소(items())를 꺼내어 결과 값에 저장한다.
5. 마지막으로 사전순으로 정렬시킨다. ( join() 함수로 묶어 출력 )

import collections

my_list = input().strip()  #입력
answer = collections.Counter(my_list)
values = [i for i in answer.values()] 
values.sort(reverse=True)  # 큰 수 부터 배열
big = values[0]  # 첫번째 원소가 가장 많이 나온 빈도수

result = [i for i, k in answer.items() if big == k]  # 간단히 하기
result = ''.join(sorted(result))  #사전순 정렬

print(result)

💡 알아야 할 것!!

​ from collections import Counter 을 import하여 Counter 사용.

​ Counter.values() 로 튜플내의 값들을 가져올 수있다.

​ 정수형 리스트로 바꾸고 싶다면 : list(map(int, my_list.values()))

​ 문자열 배열을 문자열로 : ''.join(result)

0개의 댓글