ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 알고리즘 문제풀이 : collections.Counter
    python 2025. 5. 28. 20:31

    파이썬에서 자주 등장하는 라이브러리 중 하나인 collections에는 아주 유용한 자료구조인 Counter가 있습니다.

     

    collections.Counter란? 

    Counter는 파이썬의 내장 모듈 collections에 포함된 특수한 딕셔너리입니다. 

    리스트, 문자열 같은 반복 가능한(iterable) 객체를 받아, 각 요소가 몇 번 등장했는지를 세어주는 자료형입니다.

     

    from collections import Counter
    
    arr = ['a', 'b', 'a', 'c', 'b', 'a']
    
    counter = Counter(arr)
    print(counter)
    ## 결과 : Counter({'a': 3, 'b': 2, 'c': 1})

    즉, 요소를 key로, 등장 횟수를 value로 저장합니다.

     

    Counter 끼리 산술 연산이 가능합니다.

    a = Counter(['a', 'b', 'c', 'a'])
    b = Counter(['a', 'b'])
    print(a - b)  # 결과: Counter({'a': 1, 'c': 1})

    - 같은 key에 대해 개수를 빼줍니다.

    - 결과가 0 이하인 항목은 자동으로 제거됩니다.

     

    Counter는 딕셔너리 처럼 동작합니다.

    return list(answer.keys())[0]

    - 딕셔너리의 .keys()를 통해 이름만 추출할 수 있습니다.

     

    정리 

    개념 정리
    collections.Counter 리스트에서 각 요소의 등장 횟수를 세어주는 딕셔너리
    산술연산 가능 : Counter(A) - Counter(B) A에서 B의 항목 수를 빼고 남은 것만 반환
    딕셔너리 처럼 동작 : .keys() 딕셔너리 메서드 가능
Designed by Tistory.