본문 바로가기

프로그래머스 알고리즘 문제/Level 1

프로그래머스 Level 1 - 완주하지 못한 선수

내 정답:

 

def solution(participant, completion):
    participant.sort()
    completion.sort()
    
    for i in range(len(participant)-1, -1, -1):
        if participant[i] == completion [i-1]:
            continue
        else:
            return participant[i]

 

다른 사람의 정답:

 

collections 패키지 사용

import collections

def solution(participant, completion):
    answer = collections.Counter(participant) - collections.Counter(completion)
    return list(answer.keys())[0]

 

해시 사용

def solution(participant, completion):
    answer = ''
    temp = 0
    dic = {}
    for part in participant:
        dic[hash(part)] = part
        temp += int(hash(part))
    for com in completion:
        temp -= hash(com)
    answer = dic[temp]

    return answer