📌문제
https://programmers.co.kr/learn/courses/30/lessons/42576
🎖️난이도
Level 1
✔️풀이
# sol1
def solution(participant, completion):
participant.sort()
completion.sort()
for p, c in zip(participant, completion):
if p != c:
return p
return participant[-1]
# participant가 completion보다 요소가 1개 더 많으므로, 맨 마지막 전까지 전부 p == c 일 경우!
# 즉, 마지막이 답!
# sol2) collections.Counter().keys() 이용
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
# 효율성(시간 초과)때문에 오답
def solution(participant, completion):
for person in completion:
if person in participant:
participant.remove(person) # pop(index), remove(value)
continue
answer = participant.pop()
return answer
'[ 알고리즘 ] > Hash' 카테고리의 다른 글
[프로그래머스] 위장 (0) | 2022.06.29 |
---|---|
[프로그래머스] 전화번호 목록 (0) | 2022.06.29 |