코딩코딩

[프로그래머스] level1 완주하지 못한 선수

Jerry Jun 2020. 9. 2. 09:06
728x90

문제

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수��

programmers.co.kr

 

 

코드

import collections
def solution(participant, completion):
    answer = collections.Counter(participant) - collections.Counter(completion)
    return list(answer)[0]

 

 

코드풀이

매우 짧다.

 

# collections.Counter()

배열의 원소들을 세주는데 특화되어 있다.

중복되는 원소가 있으면 그 원소들의 개수도 나타내준다.

 

이 문제는 배열 A 가 있고 배열 B 가 있을 때 A는 있는데 B는 없는 원소를 출력하는 것이다.

이 기능은 더하기, 빼기, 교집합, 합집합이 가능하다. 그래서 이 경우에서는 빼기를 사용했다.

그러면 남는 것이 정답!

 

그래도 이 기능은 앞으로 쓸만한 순간이 올 것 같다.

 

 

correctimage

 

programmers

300x250