ps | |
---|---|
링크 | programmers.co.kr/… |
출처 | 프로그래머스 |
문제 번호 | 42576 |
문제명 | 완주하지 못한 선수 |
레벨 | Level 1 |
분류 |
기초 |
시간복잡도 | O(n*l) |
인풋사이즈 | n<=100,000, l<=20 |
해결날짜 | 2021/03/27 |
태그 |
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
import collections
def solution(participant, completion):
partcipants_counter = collections.Counter(participant)
completion_counter = collections.Counter(completion)
return list(partcipants_counter - completion_counter)[0]
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
import collections
def solution(participant, completion):
counter = collections.Counter(participant) + collections.Counter(completion)
return next(x for x, count in counter.items() if count % 2 == 1)
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
import itertools
def solution(participant, completion):
participant.sort()
completion.sort()
return next(p for p, c in itertools.zip_longest(participant, completion)
if p != c)
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
def solution(participant, completion):
h = sum(hash(x) for x in participant) - sum(hash(x) for x in completion)
return next(x for x in participant if hash(x) == h)
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
import functools
import operator
def solution(participant, completion):
h = functools.reduce(operator.xor,
(hash(x) for x in participant + completion))
return next(x for x in participant if hash(x) == h)
"""Solution code for "Programmers 42576. 완주하지 못한 선수".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/42576
- Solution link: http://www.teferi.net/ps/problems/programmers/42576
"""
def solution(participant, completion):
s = [0] * 20
for name in participant + completion:
for i, c in enumerate(name):
s[i] ^= ord(c)
return ''.join(chr(x) for x in s if x)