본문 바로가기
알고리즘 공부

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

by 오 복 이 2021. 12. 12.

문제 설명

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

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

 

문제 풀이 - 해시, hash table

해시를 사용한 문제 풀이 방법

 

 

def solution(participant, completion):
    answer = ''
    dic = {}
    for name in completion :
        if name not in dic.keys():
            dic[name] = 1
        else:
            dic[name] +=1   
    for name in participant:
        if name in dic.keys():
            if dic[name] == 0:
                answer = name
                break
            else :
                dic[name] -= 1
        else :
            answer = name
            break

            

    return answer

 

 

출처 :

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

 

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

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

programmers.co.kr

 

728x90
반응형