본문 바로가기

Coding Test/Programmers

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

728x90

나의 풀이

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]

 

 

[다른 풀이1] Counter를 이용한 풀이

import collections

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

 

 

[다른 풀이2] Hash를 이용한 풀이

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
반응형