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})
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 |