https://programmers.co.kr/learn/courses/30/lessons/42576
def solution(participant, completion):
answer = ''
for i in range(len(participant)) :
temp=participant[0]
if temp not in completion:
answer=temp
break;
else:
participant.remove(temp)
completion.remove(temp)
return answer
👉🏻 for문 내부에 in 연산자를 이용하여 participant의 원소가 completion에 존재하는지 판단함
😥 정확성 테스트는 통과하였으나 효율성 테스트에서 탈락함
def solution(participant, completion):
answer = ''
p_copy=sorted(participant)
c_copy=sorted(completion)
for i in range(len(c_copy)):
if (p_copy[-1]!=c_copy[-1]):
answer=p_copy[-1]
break;
else :
p_copy.pop()
c_copy.pop()
if len(p_copy)==1 and len(c_copy)==0:
answer=p_copy[-1]
return answer
👉🏻participant와 completion을 모두 정렬한 후 원소 비교
participant와 completion 모두 정렬하였으므로 같은 index의 원소끼리 비교하여 같은 값인지 판별
마지막 원소부터 비교 후 다른 값이면 해당 값을 answer로 반환
같은 값이면 pop()하기
for문을 마친 후 participant에 남은 원소가 있다면 해당 원소를 answer로 반환
❓ for문의 원소 비교를 끝에서부터 하지 않고 0부터 한 후 pop(0)으로 하면 시간초과 탈락이 된다.