반응형

완주하지 못한 선수

-풀이

def solution(participant, completion):
    answer = ''
    participant.sort()
    completion.sort()
    for i in range(len(completion)):
        if participant[i] != completion[i]:  
            return participant[i]
    
    return participant[-1]
#import collections
# def solution(participant, completion):
#     answer = collections.Counter(participant) - collections.Counter(completion)
#     return list(answer.keys())[0]

-풀이 설명

해시 사용을 못했지만, 그래도 답을 찾기 위해 participant, completion을 정렬하여 같은 배열의 인덱스의 값이 다 같으면 participant[-1]값을 리턴하고, 다른게 있다면 그 다른 participant배열의 인덱스 값을 리턴해주어서 풀었다. 다른 사람의 풀이를 보니 collention.Counter를 이용하여 엄청 쉽게 푸는 방법이 있었다. 내가 푼 방법은 O(NlogN)으로 그래도 빠른 편이긴하지만, 다른 사람의 풀이는 O(N)으로 더 빠르기 때문에 이러한 방법을 더 숙달하도록 노력해야겠다.

 

 

+ Recent posts