본문 바로가기
프로그래밍 언어/파이썬

[Python] collections.Counter

by 컴공맨 2021. 2. 7.

collections에 내장된 함수인 Counter()는 dictionary와 같이 hash 자료들의 개수를 셀 때 사용되고 dictionary처럼 {key :  value} 형식으로 만들어진다.

Counter()로 처리된 값 끼리 빼는 것도 가능하고 그 결과로 0 이나 음수의 값들도 가능하다.(subtract() 사용)

해당하는 값이 없더라도 error가 아닌 0을 반환한다.

import collections

a = ['aa', 'cc', 'dd']
result = collections.Counter(a)
print(result['ee'])

# 실행결과
# 0

count된 수를 기준으로 오름차순으로 정렬된다.

import collections

a = ['a', 'b', 'c', 'd', 'a', 'b', 'e']
print(collections.Counter(a))

# 실행결과
# Counter({'aa': 2, 'cc': 1, 'dd': 1, 'bb': 1, 'ee': 1})

 

[Python] 완주하지 못한 선수 (level 1)

코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이

comgong-man.tistory.com

collections의 Counter()를 이용하면 위의 문제를 더 쉽게 풀 수 있습니다.

import collections 
def solution(participant, completion): 
    participant.sort() 
    completion.sort() 
    # 카운터가 오름차순으로 정렬되므로 1이 남는 곳이 맨 앞으로 오게된다.
    result = collections.Counter(participant) - collections.Counter(completion) 
    return list(result)[0]

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

[Python] 문자열을 일정 길이로 자르기  (0) 2021.03.14
[Python] count()  (0) 2021.03.06
[Python] dict 정렬  (0) 2021.03.06
[Python] N진수 변환  (0) 2021.02.28
[Python] itertools cycle()  (0) 2021.02.12