[프로그래머스 Lv1] 완주하지 못한 선수 / 파이썬 Python

Gayoung Lee·2022년 5월 17일
0

Algorithm

목록 보기
38/39

문제

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

내 풀이

def solution(participant, completion):
    answer = ''
    for x in participant:
        if x in completion:
            completion.remove(x) #동명이인 제한 때문에, completion에서 x 지워버림 
        else:
            answer+=x
    return answer

로 했더니 효율성 테스트에서 다 탈락했다.
너무 많이 비교하는 바보같은 코드였다

수정코드는

def solution(participant, completion):
    participant.sort()
    completion.sort()
    for p, c in zip(participant, completion): #순서대로 접근하다가 
        if p != c:
            return p
    return participant[-1]
profile
삽질하며 성장하는 gayoungee

0개의 댓글