from collections import Counter
def solution(participant, completion):
pt = Counter(participant)
cp = Counter(completion)
for x in pt.keys() :
# 다른 이름의 탈락자
if x not in cp.keys():
return x
# 동명 이인의 탈락자일 경우
if pt[x] !=cp[x]:
return x
정확성
테스트 1 〉 통과 (0.02ms, 10.2MB)
테스트 2 〉 통과 (0.02ms, 10.3MB)
테스트 3 〉 통과 (0.15ms, 10.1MB)
테스트 4 〉 통과 (0.37ms, 10.3MB)
테스트 5 〉 통과 (0.25ms, 10.3MB)
테스트 6 〉 통과 (0.02ms, 10.2MB)
테스트 7 〉 통과 (0.03ms, 10.1MB)
효율성
테스트 1 〉 통과 (19.17ms, 24.3MB)
테스트 2 〉 통과 (44.32ms, 27.8MB)
테스트 3 〉 통과 (34.45ms, 30.2MB)
테스트 4 〉 통과 (40.51ms, 39MB)
테스트 5 〉 통과 (33.75ms, 39MB)
정확성: 58.3
효율성: 41.7
해쉬 연습하라고 한 문제인데 다른 방식으로 풀어서 해쉬로 풀면 어떻게 해야 하는지 찾아보았다.
def solution(participant, completion):
answer = ''
temp = 0
dic = {}
for part in participant:
dic[hash(part)] = part
temp += hash(part)
for com in completion:
temp -= hash(com)
answer = dic[temp]
return answer
정확성 테스트
테스트 1 〉 통과 (0.01ms, 10.1MB)
테스트 2 〉 통과 (0.01ms, 10.1MB)
테스트 3 〉 통과 (0.19ms, 10.3MB)
테스트 4 〉 통과 (0.38ms, 10.3MB)
테스트 5 〉 통과 (0.39ms, 10.4MB)
테스트 6 〉 통과 (0.00ms, 10.2MB)
테스트 7 〉 통과 (0.00ms, 10.3MB)
효율성 테스트
테스트 1 〉 통과 (22.71ms, 23.9MB)
테스트 2 〉 통과 (34.26ms, 28.3MB)
테스트 3 〉 통과 (37.40ms, 31.4MB)
테스트 4 〉 통과 (45.42ms, 37.6MB)
테스트 5 〉 통과 (46.48ms, 37.6MB)
정확성: 58.3
효율성: 41.7