Posts [알고리즘] 프로그래머스 - 완주하지 못한 선수
Post
Cancel

[알고리즘] 프로그래머스 - 완주하지 못한 선수


문제

강의에 들어있는 문제라서 문제 링크를 걸어도 되는지 모르겠다.

마라톤에 참여한 선수 중 한명을 제외하고 모두 완주했다.
이때 완주하지 못한 선수의 이름을 찾아라.
참여 선수 이름이 담긴 배열 : participant
완주 선수 이름이 담긴 배열 : completion
참여한 선수는 1명 이상 100,000명 이하이다.
completion의 길이는 participant보다 1작다.
참가자의 이름은 1~20글자의 알파벳 소문자로 이루어져 있다.
동명이인이 있을 수 있다.


입출력 예시

participantcompletionreturn
[“leo”, “kiki”, “eden”][“eden”, “kiki”]“leo”


접근

딕셔너리를 이용하여 참가자의 이름별로 카운팅하고, 완주자들을 빼주면 한명만 남을 것이다.


코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def solution(participant, completion):
    answer = ''
    dic = {}

    for p in participant:
        dic[p] = dic.get(p, 0) + 1

    for c in completion:
        dic[c] -= 1

    for dkey, dval in dic.items():
        if dval > 0:
            answer = dkey
            break
    return answer


This post is licensed under CC BY 4.0 by the author.

[프로그래머스 인공지능스쿨] Week1-3 파이썬 기초

[알고리즘] 프로그래머스 - 체육복