호기심 많은 분석가
[프로그래머스] 해시 - 완주하지 못한 선수 (Python) 본문
from collections import Counter
def solution(participant, completion):
ans = Counter(participant)-Counter(completion)
answer = list(ans.elements())[0]
return answer
처음 봤을 때 가장 먼저 Counter 문법을 떠올리긴 했지만, Counter 결과끼리 뺄셈 연산이 되는지 몰라서 for문으로 풀었다. for문은 역시나 효율성에서 걸렸고, 구글링 한 뒤 Counter 문법을 사용해서 간단하게 해결하였다.
또 다른 방법으로는 set으로 풀이를 시도해봤는데 3번의 예시에서 틀렸다고 뜨기 때문에 사용할 수 없었다.
Counter 뺄셈
# collections.Counter 예제 (10)
# Counter의 뺄셈
import collections
a = collections.Counter('aabbccdd')
b = collections.Counter('abbbce')
print(a-b)
'''
결과
Counter({'d': 2, 'c': 1, 'b': 1, 'a': 1})
'''
출처: https://excelsior-cjh.tistory.com/94 [EXCELSIOR]
'Coding > Coding Test & Algorithm' 카테고리의 다른 글
[프로그래머스] 해시 - 위장 (Python) (2) | 2021.06.24 |
---|---|
[프로그래머스] 해시 - 전화번호 목록 (Python) (2) | 2021.06.23 |
[백준 11399] ATM (Python) (0) | 2021.06.11 |
[백준 9095] 1, 2, 3 더하기 (Python) (2) | 2021.06.11 |
[백준 2630] 색종이 만들기 (Python) (0) | 2021.06.11 |