https://school.programmers.co.kr/learn/courses/30/lessons/42576
from collections import defaultdict
def solution(participant, completion):
lists = defaultdict(int)
for part in participant:
lists[part] += 1
for succ in completion:
lists[succ] -= 1
for l in lists:
if lists[l]:
return l
[개선할 점]
-collections.Counter을 통해 participant에서 completion을 빼서 구현할 수도 있음. 딕셔너리는 값을 뺄 수 없지만 카운터 객체라서 가능하다고 함.
from collections import Counter
a = Counter(["leo", "kiki", "eden", "eden"])
b = Counter(["eden", "kiki"])
a # Counter({'eden': 2, 'leo': 1, 'kiki': 1})
b # Counter({'eden': 1, 'kiki': 1})
a-b # Counter({'leo': 1, 'eden': 1})
'codes > programmers' 카테고리의 다른 글
86491 최소직사각형 (1) | 2024.12.13 |
---|---|
12906 같은 숫자는 싫어 (0) | 2024.12.12 |
42839 소수 찾기 (0) | 2024.12.09 |
42748 K번째수 (1) | 2024.12.09 |
42626 더 맵게 (0) | 2024.12.09 |