공식문서: https://docs.python.org/ko/3/library/collections.html#collections.Counter
해시
문제 풀이법에서 발견한 클래스
Counter는 해시 가능한 객체를 세기 위한 dict 서브 클래스입니다. 요소가 딕셔너리 키로 저장되고 개수가 딕셔너리값으로 저장되는 컬렉션입니다. 개수는 0이나 음수를 포함하는 임의의 정숫값이 될 수 있습니다.
c = Counter(['eggs', 'ham'])
c['bacon'] # count of a missing element is zero
>> 0
c = Counter(a=3, b=1)
d = Counter(a=1, b=2)
c + d # add two counters together: c[x] + d[x]
>> Counter({'a': 4, 'b': 3})
c - d # subtract (keeping only positive counts)
>> Counter({'a': 2})
c & d # intersection: min(c[x], d[x])
>> Counter({'a': 1, 'b': 1})
c | d # union: max(c[x], d[x])
>> Counter({'a': 3, 'b': 2})
c == d # equality: c[x] == d[x]
>> False
c <= d # inclusion: c[x] <= d[x]
>> False
c = Counter(a=4, b=2, c=0, d=-2)
sorted(c.elements())
>> ['a', 'a', 'a', 'a', 'b', 'b']
Counter('abracadabra').most_common(3)
>> [('a', 5), ('b', 2), ('r', 2)]
c = Counter(a=4, b=2, c=0, d=-2)
d = Counter(a=1, b=2, c=3, d=4)
c.subtract(d)
c
>> Counter({'a': 3, 'b': 0, 'c': -3, 'd': -6})