python 완주하지 못한선수

quokka·2021년 3월 17일
0

코딩테스트

목록 보기
17/63

zip을 이용해서 list를 묶을수있어서 같은값 찾을때 list를 정렬해주고 값을 묶은 후 비교해주면 O(n)으로 풀 수있다.

def solution(participant, completion):
    par = sorted(participant)
    com = sorted(completion)
    for p,c in zip(par, com):
        if p!=c:
            print(p)
            return p
    return par[-1]

소스의 출처는 프로그래머스입니다.
collections.Counter를 이용하여 리스트 안의 원소가 몇개씩 들어있는지 확인 할 수 있고 collection.Counter는 -연산이 가능하다.(파이썬에서 객체끼리 -가 가능한건가?)

import collections
def solution(participant, completion):
    answer = collections.Counter(participant) - collections.Counter(completion)
    return list(answer.keys())[0]
profile
iOS를 공부하는 개발자입니다~ㅎㅎ

0개의 댓글

관련 채용 정보