티스토리 뷰
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})
먼저 collections.Counter를 사용해 원소의 개수를 센다. 그리고 participant에서 completion을 뺀다.
그러면 딕셔너리에 원소가 1개 남게 된다.
그 다음 딕셔너리에 남은 원소를 elements를 사용해 리스트로 반환받고 join을 사용해 문자열로 바꿔 반환한다.
문제풀이
import collections def solution(participant, completion): answer = collections.Counter(participant) - collections.Counter(completion) return "".join(answer.elements())
'문제 풀이 > Programmers' 카테고리의 다른 글
[python3][level 2] 위장 (0) | 2019.03.28 |
---|---|
[python3][level 2] 전화번호 목록 (0) | 2019.03.27 |
[python3][level 1] 정수 내림차순으로 배치하기 (0) | 2018.07.13 |
[python3][level 1] 직사각형 별찍기 (0) | 2018.07.12 |
[python3][level 1] 나누어 떨어지는 숫자 배열 (0) | 2018.07.12 |
댓글