프로그래머스

프로그래머스 완주하지 못한 선수 파이썬

hotchya 2021. 9. 6. 23:47

완주하지 못한 선수

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

문제 단순화

  • 두 문자열 배열 participant, completion이 있다.
  • 배열의 내의 요소는 중복이 가능함
  • completion 배열에 없는 participant 배열의 요소를 리턴

풀이방법

  • 이름을 기준으로 사람 수를 카운트
  • completion 배열의 요소를 이름을 기준으로 하나씩 뺀다
  • 남은 사람을 찾아서 반환한다.

코드

def solution(participant, completion):
    answer = 0
    d = {name:0 for name in participant}
    for name in participant:
        d[name] += 1
    for name in completion:
        d[name] -= 1
    for name in participant:
        if d[name] == 1:
            answer = name
            break
    return answer