티스토리 뷰


collections.Counter를 사용해 문제를 해결했다. 

collections.Counter는 리스트나 튜플 등 어떤 집합에서의 원소의 개수를 딕셔너리 형태의 Counter 객체로 반환한다.

Counter 객체는 다양한 사칙연산을 지원한다.


예제

>>> c = Counter(a=3, b=1)

>>> d = Counter(a=1, b=2)

>>> c + d    

Counter({'a': 4, 'b': 3})

>>> c - d   

Counter({'a': 2})

>>> c & d      

Counter({'a': 1, 'b': 1})

>>> c | d                

Counter({'a': 3, 'b': 2})

출처 : https://docs.python.org


먼저 collections.Counter를 사용해 원소의 개수를 센다. 그리고 participant에서 completion을 뺀다.

그러면 딕셔너리에 원소가 1개 남게 된다. 

그 다음 딕셔너리에 남은 원소를 elements를 사용해 리스트로 반환받고 join을 사용해 문자열로 바꿔 반환한다.

문제풀이

import collections
def solution(participant, completion):
    answer = collections.Counter(participant) - collections.Counter(completion)
    return "".join(answer.elements())


댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total
Today
Yesterday