참여자 명단 중 오직 1명만 완주를 못한다고 할 때, 그 사람의 이름을 출력하는 문제
참여자 명단에 있는 이름을
key로 정하고 이름의 개수를value로 정한다. 이름의 개수가value인 이유는 문제의 조건에서 동명이인을 고려해야하기 때문이다.
이후, 완주자 명단에 있는 이름을key로 접근하여 이름의 개수를 하나 차감하면 이름의 개수가 1인value을 갖는key가 하나 존재한다. 그key가 문제의 정답이된다.
from collections import defaultdict
def solution(participant, completion):
runners = defaultdict(int)
for runner in participant:
runners[runner] += 1
for runner in completion:
runners[runner] -= 1
for runner in runners.keys():
if runners[runner] > 0: return runner