[프로그래머스] 완주하지 못한 선수 [해시](python) Level1
문제 설명
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
예제 #1
leo는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.
예제 #2
vinko는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.
예제 #3
mislav는 참여자 명단에는 두 명이 있지만, 완주자 명단에는 한 명밖에 없기 때문에 한명은 완주하지 못했습니다.
설계 및 구현
my_solution
from collections import Counter
def solution(participant, completion):
answer = Counter(participant) - Counter(completion)
return list(answer)[0]
Counter()은 리스트의 요소와 그 요소의 갯수를 dict() 자료형으로 반환한다.
그리고 dict() 자료형은 -연산자를 이용해 차집합을 구할 수 있다.
1. Counter()로 participant, completion의 갯수를 구한다.
2. Couter(participant) - Counter(completion)연산을 수행하면 {완주하지 못한 사람의 이름,1}을 반환한다.
3. list(answer[0])로 완주하지 못한 사람의 이름을 return해주면 해결
반응형
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 2016 [연습문제][python] (0) | 2020.09.19 |
---|---|
[프로그래머스] K번째수 [정렬] [python] (0) | 2020.09.19 |
[프로그래머스] 모의고사 [완전탐색][python] (0) | 2020.09.19 |
[프로그래머스] 두개 뽑아서 더하기 [월간 코드 챌린지 시즌1][python] (0) | 2020.09.19 |
[프로그래머스] 크레인 인형 뽑기 게임 [2019 카카오 개발자 겨울 인턴쉽][python] (0) | 2020.09.19 |