아는 만큼 보인다

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

알고리즘&자료구조/코딩테스트 연습

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

계토 2022. 6. 11. 16:05

프로그래머스 완주하지 못한 선수 python3 문제 바로가기

 

코딩테스트 연습 - 완주하지 못한 선수

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

programmers.co.kr

해시를 이용해야하는 문제

def solution(participant, completion):
    hashDict = {}
    sumHash = 0
    
    for part in participant:
        hashDict[hash(part)] = part # {hash_value:participants_name}
        sumHash += hash(part) # 모든 선수 더해주기
    
    for com in completion:
    # 단 한명의 선수만 완주하지 못했으므로 이렇게 소거법으로 하면 완주하지 못한 선수를 찾을 수 있다.
        sumHash -= hash(com)
    
    answer = hashDict[sumHash]
    return answer