완주하지 못한 선수

IngCoding·2022년 5월 9일
1

문제출처 : 프로그래머스

문제소개

완주하지 못한 선수
- 마라톤 참가 선수 (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]
profile
Data & PM

0개의 댓글