def solution(participant, completion):
participant_set = set(participant)
complete_set = set(completion)
fail = participant_set - complete_set
answer = list(fail)[0]
return answer
동명이인인 사람들 중 한명이 fail인 경우 문제 해결 불가
def solution(participant, completion):
participant_set = set(participant)
complete_set = set(completion)
fail = participant_set - complete_set
# fail한 사람이 동명이인이 아님
if len(fail) != 0:
answer = list(fail)[0]
# fail한 사람이 동명이인이 있음
else:
participant_dict = {}
# dict에 이름:개수 저장
for name in participant_set:
participant_dict[name] = participant.count(name)
print(participant_dict)
# dict에서 complete한 사람 빼기
for complete in completion:
participant_dict[complete] -= 1
values = list(participant_dict.values())
idx = values.index(1)
answer = list(participant_dict.keys())[idx]
당연히 시간 초과
def solution(participant, completion):
answer = ""
p = sorted(participant)
c = sorted(completion)
for a, b in zip(p, c):
if a != b:
answer = a
break
if answer == "":
answer = p[-1]
return answer
naive한 접근법이 때로는 최적의 경로인 것..ㅎㅎ