반응형
-풀이
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)으로 더 빠르기 때문에 이러한 방법을 더 숙달하도록 노력해야겠다.
'알고리즘' 카테고리의 다른 글
[프로그래머스][level 1]내적 (0) | 2021.10.11 |
---|---|
[프로그래머스][level 1]소수 만들기 (0) | 2021.10.11 |
[프로그래머스][level 1]K번째 수(슬라이싱 활용) (0) | 2021.10.10 |
[프로그래머스][level 1]모의고사(수포자 3명) (0) | 2021.10.10 |
[프로그래머스][level 1]체육복 (0) | 2021.10.10 |