본문 바로가기
Python/코테 연습

완주하지 못한 선수

by soojitasan 2024. 8. 19. 18:17
## 🔒 문제. 완주하지 못한 선수
def solution(participant, completion):
    answer = ''
    temp = set(participant) - set(completion)

    if len(temp) >= 1: ## if set(참여한 선수) - set(완주한 선수) 원소가 있으면
        answer = "".join(list(temp)) ## 해당 원소 출력

    else:  ## 동일인물이 존재하면
        part_dict, comp_dict = {}, {}

        for i in participant:
            if i in part_dict:
                part_dict[i] += 1
            else:
                part_dict[i] = 1

        part_multi = [k for k, v in part_dict.items() if v >= 2]  ## 참여자 중 동일인물만 추출

        for j in completion:
            if j in comp_dict:
                comp_dict[j] += 1
            else:
                comp_dict[j] = 1

        for k, v in part_dict.items():
            if comp_dict[k] != part_dict[k]:
                answer = k

    return answer

## print(solution(["leo", "kiki", "eden"], ["eden", "kiki"]))
## print(solution(["marina", "josipa", "nikola", "vinko", "filipa"], ["josipa", "filipa", "marina", "nikola"]))
## print(solution(["mislav", "stanko", "mislav", "ana"], ["stanko", "ana", "mislav"]))