programmers.co.kr/learn/courses/30/lessons/42576
1. 첫번째 시도
def solution(participant, completion):
pset= set(participant)
cset= set(completion)
if pset == cset:
return [i for i in pset if participant.count(i)>=2][0]
else: return list(pset- cset)[0]
-> 시간초과
2. 두번째 시도
def solution(participant, completion):
participant.sort()
completion.sort()
for p,c in zip(participant, completion):
if p != c:
return p
return participant.pop()
* pop 메서드의 default값은 -1이므로 가장 마지막 값을 빼준다.
* zip함수는 두 리스트의 요소들을 하나씩 튜플로 묶은 후 리스트로 되돌려준다.
'python > 알고리즘 문제풀이' 카테고리의 다른 글
[프로그래머스 | 파이썬3] 체육복_ set, pop 사용 (1) | 2021.05.13 |
---|---|
[프로그래머스 | python3] K번째 수_ sort() 사용 (2) | 2021.05.12 |
[프로그래머스 | python3] 폰켓몬 (1) | 2021.05.10 |
[백준2577] 숫자의개수/ 문자열 하나하나 받아오기/ python (0) | 2021.02.24 |
[백준2562]최댓값/ read와 readlines의 차이/ python (0) | 2021.02.20 |