알고리즘 공부를 하다가, Counter 클래스에 대해 알게되었다.
문자열을 입력했을 때, 각 글자 수를 세어주는 함수이다.
import collections
collections.Counter('hello world')
# Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
이렇게 각 글자별로 갯수를 세어준다.
항상 for문으로 진행했었는데, 이렇게 사용하니까 아주 편하다.
import collections
collections.Counter('hello world').most_common()
# [('l', 3), ('o', 2), ('h', 1), ('e', 1), (' ', 1), ('w', 1), ('r', 1), ('d', 1)]
most_common()을 사용하면, 가장 많이 나온 알파벳부터 출력해서 볼 수있다.
그리고 가장 많이 나온 알파벳을 출력할 수도 있다.
import collections
collections.Counter('hello world').most_common(1)
# [('l', 3)]
most_common(n) 을 사용하면, 가장 많이 나온 알파벳 부터 차례로 n개 출력할 수 있다.
import collections
def solution():
answer = collections.Counter("HELLO WORLD") - collections.Counter("HELLO WORL")
return list(answer.keys())[0]
print(solution())
문자열 두개를 이용해서, 빼기 기능도 가능하기 때문에,
알고리즘 문제 풀때도 필요한 곳이 있었다.
collections모듈을 사용해보긴 했지만, Counter 모듈은 처음 사용해봤다.
'Developer > Python' 카테고리의 다른 글
[python] 큐(Queue) 라이브러리 사용하기 - Queue, LifoQueue, PriorityQueue (0) | 2021.04.10 |
---|---|
Python 문자열 활용 : isdigit isalpha isalnum (0) | 2021.02.15 |
[Python] 이벤트 루프 (0) | 2021.01.17 |
[Python] Python에서 fpdf 사용하기 (0) | 2021.01.05 |
[Python] 딕셔너리 키 값 존재여부 확인 (0) | 2021.01.04 |