본문 바로가기
> 알고리즘 문제 풀이/프로그래머스

lv1-완주하지 못한 선수

by bky373 2020. 10. 18.

- 체크!:
    - 해시함수의 리턴값을 키로 사용하며 이를 가감해 
      완주한 선수와 완주하지 못한 선수를 구분한 것은 너무 참신한 아이디어라 생각한다..

1번: 내가 작성한 코드(정렬 이용)

def solution(participant, completion):
    participant.sort()
    completion.sort()

    for x, name in enumerate(participant):
        if x == len(completion):
            return name
        if name != completion[x]:
            return name



2번: 1번 성공 후 참고한 코드(해시함수 이용)

def solution(participant, completion):
    tmp = 0
    player = dict()
    for p in participant:
        player[hash(p)] = p
        tmp += int(hash(p))
    for c in completion:
        tmp -= int(hash(c))
    return player[tmp]



댓글