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

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

코드

def solution(participant, completion):
    ans=dict()
    for maratoner in participant:
        if maratoner in ans:
            ans[maratoner]-=1
        else:
            ans[maratoner]=-1
    
    for maratoner in completion:
        ans[maratoner]+=1
    
    for maratoner in ans:
        if ans[maratoner]<0:
            return maratoner

해시로 풀었다.

더 좋은 방법이 많이 있을 것 같지만 소분류가 해시였기 때문에 해시만 생각하고 풀게 되는 경향이 있었다.

달린 선수의 이름을 키로 하는 dict를 만들어서 참여한 선수마다 -1을 해주었다.

그리고 완주한 선수는 +1을 해주었다.

완주하지 못한 선수는 해당 value가 -1인 선수이다.

Discussion and feedback