728x90
첫 번째 코드 - 정확도 통과, 효율성 통과X
list 의 pop, remove은 너무 오래 걸린다.
def solution(participants, completions):
answer = ''
for c in completions:
participants.pop(participants.index(c))
return participants[0]
두 번쨰 코드
from collections import defaultdict
def solution(participants, completions):
answer = ''
unfinished = defaultdict(int)
for p in participants:
unfinished[p] += 1
for c in completions:
unfinished[c] -=1
for key, value in unfinished.items():
if value != 0:
answer = key
return answer
사실 sort()해서 차이가 나는 부분을 출력하면 되는 코드로 하려고 했는데 머릿속에서 무언가 안 될 것 같아서 딕셔너리 사용. 근데 다른 사람들 풀이 보니까 그렇게 해도 문제 없었다.
#sort를 이용한 다른 사람 풀이
def solution(participant, completion):
participant.sort()
completion.sort()
for p, c in zip(participant, completion):
if p != c:
return p
return participant[-1]
'Python > CoTe' 카테고리의 다른 글
[programmers] 문자열 내 마음대로 정렬하기 (0) | 2022.02.21 |
---|---|
[programmers] 크레인 인형 뽑기 (0) | 2022.02.19 |
[programmers] 내적 (0) | 2022.02.19 |
[programmers] 숫자 문자열과 영단어 (0) | 2022.02.19 |
[programmers] 포켓몬 (0) | 2022.02.19 |