본문 바로가기
STUDY/코딩테스트 연습문제 풀이

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

by mhl22 2021. 8. 7.

https://programmers.co.kr/learn/courses/30/lessons/42576

 

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

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

programmers.co.kr

 

풀이

문제 카테고리가 해시인데 해시테이블에 대한 이해가 부족해서 우선 해시테이블에 대해 공부 했다. 

2021.08.06 - [Study/자료구조 & 알고리즘] - [자료구조] 해시 테이블(Hash Table)

 

해시 테이블을 공부해보니 더더욱 해시를 사용해서 풀어보고 싶어서 결국 구글링을 통해 해시를 이용한 풀이를 검색했다.

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

해시를 이렇게 활용하는 방법도 있구나...