[프로그래머스] 완주하지 못한 선수


해시 - 완주하지 못한 선수

사용 언어 : Python3

첫 번째 풀이 (실패)

강려크한 파이썬느님은 Set(집합)을 구현해놔서 간단하게 차집합으로 연산하려고 했더니 역시 테케 3번째에 중복의 경우를 집어넣어 놨다. 그래서 하나씩 빼고 in을 이용해서 했더니 정확성은 통과했고, 효율성은 모두 시간 초과
이보다 어떻게 효율이 더 좋지? 생각했는데 remove 함수가 문제인 것 같다.

def solution(bridge_length, weight, truck_weights):
    def solution(participant, completion):
    answer=''
    while (True) :
        temp = participant.pop()
        if completion == False :
            answer += temp
            break
        elif temp in completion :
            completion.remove(temp)
        else :
            answer += temp
            break
    return answer

두 번째 풀이(통과)

remove 함수가 문제가 맞다. 각각의 배열을 정렬해주고 비교하면서 풀어준 결과 효율성도 통과

def solution(participant, completion):
    answer=''

    participant = sorted(participant)
    completion = sorted(completion)
    temp = len(completion)

    for i in range(temp+1) :
        if i == temp :
            answer += participant[i]
            break
        elif participant[i] != completion[i] :
            answer+=participant[i]
            break

    return answer


© 2020. by bs-derek