def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(len(completion)):
if participant[i] != completion[i]:
return participant[i]
return participant[-1]
다른 코드로 실험했을 때 시간복잡도 측면의 문제가 있어서, 먼저 sort
함수로 정렬 해줬다.
그런 뒤, for range
문으로 completion 길이만큼 돌린 뒤, participant
와 completion
의 각각 리스트의 같은 인덱스를 비교해준다.
정렬을 해줬기 때문에, 일치하지 않을 경우 그 참가자가 통과하지 못했다는 것으로, participant[i]
를 return
해준다.
만약 전체를 돌았는데도 안나오면, 정렬된 참가자 리스트의 마지막 참가자라는 것으로 participant[-1]
을 return
해준다.