CS/Algorithm
해시> 완주하지 못한 선수
KJY
2021. 3. 28. 20:52
문제
https://programmers.co.kr/learn/courses/30/lessons/42576?language=python3
풀이
def solution(participant, completion):
part_dict = {}
for person in participant:
part_dict.setdefault(person, 0)
part_dict[person] += 1
for comp in completion:
part_dict[comp] -= 1
for person, count in part_dict.items():
if count > 0:
return person
속도
- min : 통과 (0.01ms, 10.2MB)
- max : 통과 (56.62ms, 33.9MB)
다른 풀이
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
collections.Counter → 개수까지 새서 딕셔너리로 반환해줌.
- 속도
- min : 통과 (0.05ms, 10.2MB)
- max : 통과 (93.05ms, 39MB)
간단하긴 한데 빠르지는 않은듯 하다.