문제설명 - 단 한 명의 선수를 제외하고는 모든 선수가 완주 - 마라톤에 참여한 선수들 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
제한사항 - 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. - completion의 길이는 participant의 길이보다 1 작습니다. - 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. - 참가자 중에는 동명이인이 있을 수 있습니다.
내 풀이
참가자 수 = 완주자 수 + 1
participant 배열과 completion 배열은 단 한 명을 제외하곤 같은 값이 들어있음.
두 배열을 각각 정렬해 매치 -> 참가자와 완주자가 다른 값으로 나올 경우 해당 참가자는 완주 실패
def solution(participant, completion):
from itertools import zip_longest
participant.sort(); completion.sort()
for a,b in zip_longest(participant,completion,fillvalue=None):
if a!=b:
return a