728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/42576?language=python3
최종 풀이
from collections import Counter
def solution(participant, completion):
return list(Counter(participant)-Counter(completion))[0]
풀이 과정
풀이 시간 13분
1. Counter 활용
from collections import Counter
def solution(participant, completion):
return list(Counter(participant)-Counter(completion))[0]
#시간복잡도 = O(n) 공간복잡도 = O(n)
2. Hash 활용
def solution(participant, completion):
players = dict()
sum_key = 0
for p in participant:
key = hash(p)
players[key] = p
sum_key += key
for c in completion:
sum_key -= hash(c)
return players[sum_key]
3. sort 활용
def solution(participant, completion):
last = list(set(participant)-set(completion))
if len(last) == 1: return last[0]
participant.sort()
completion.sort()
for i in range(len(completion)):
if participant[i] != completion[i]:
return participant[i]
return participant[-1]
#시간복잡도 = O(nlogn) 공간복잡도 = O(n)
728x90
반응형
'코테 노트 > 프로그래머스' 카테고리의 다른 글
Level 2 위장 Python 3 (0) | 2021.07.08 |
---|---|
Level 2 전화번호 목록 Python3 (0) | 2021.07.07 |
Level 2 주식가격 Python3 (0) | 2021.07.05 |
Level 2 다리를 지나는 트럭 Python3 (0) | 2021.07.05 |
Level 2 프린터 Python3 (0) | 2021.07.04 |