[プログラマー]フルコースを走っていない選手(Python 3)、zip()


問題の説明


多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
completion의 길이는 participant의 길이보다 1 작습니다.
참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
참가자 중에는 동명이인이 있을 수 있습니다.
I/O例
participant
completion
return
["leo", "kiki", "eden"]
["eden", "kiki"]
"leo"
["marina", "josipa", "nikola", "vinko", "filipa"]
["josipa", "filipa", "marina", "nikola"]
"vinko"
["mislav", "stanko", "mislav", "ana"]
["stanko", "ana", "mislav"]
"mislav"
**I/O例説明**
例1
「leo」は参加者名簿に載っているが、フルコースを走る者名簿には載っていないため、フルコースを完走できなかった.
例2
「vinko」は参加者名簿に載っていたが、完走者名簿に載っていなかったため完走できなかった.
例#3
「誤導」は参加者リストに2人いたが、完走者リストには1人しかいなかったため、1人は完走しなかった.
最初は参加者と完走者を簡単に比較し、説明を繰り返し、完走者リストにない参加者を見つけようとした.しかしタイムアウトのため緩和されなかった.
Googleが認識するzip()内蔵関数を使用しました.
zip(list 1,list 2)を使用してlist 1とlist 2を組み合わせます.(文字列も1文字で構成されています)
参加者リストと完走者リストを並べ替えた後,例3に示すように完走できない選手がファスナーの間にいればmを返す.
a
m
m
s
逆に完走しなかった選手がファスナーにいなければ、参加者リストの最後の選手が出てくる.
a
k
l

私の答え

def solution(participant, completion):
    
    participant.sort()
    completion.sort()
    answer = ''
    for a, b in zip(participant, completion):
        
        if a !=b:
            return a
 
    return participant.pop()