문제출처 : 프로그래머스
문제소개
완주하지 못한 선수
- 마라톤 참가 선수 (paricipant) 중 단 한명만 완주하지 못했다.
- 완주한 선수 (completion)가 주어질 떄, 완주 못한 선수 이름을 return 하는 함수 작성
입력)
participant = ["marina", "josipa", "nikola", "vinko", "filipa"]
completion = ["josipa", "filipa", "marina", "nikola"]
출력)
return = "vinko"
코드
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]
리팩터링 코드
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]