개발/PS

[Python] 프로그래머스 Lv1 완료하지 못한 선수

유훈 | Yuhun 2022. 1. 3. 04:07
반응형

풀이

def solution(participant, completion):
    participant.sort()
    completion.sort()
    for i in range(0, len(completion)):
        if participant[i] != completion[i]:
            return participant[i]

    return participant[-1]

#1. 배열을 모두 정렬한다.

#2. 배열의 같은 인덱스를 비교해 다르면 그때의 participant의 값이 완주하지 못한 선수이다.

#3. 만약 completion의 수 만큼 돌았는데도 모두 같다면 participant의 마지막 값이 완주하지 못한 선수이다.

 

해시 문제라고 써있는데 방법이 생각나지 않아 정렬로 풀었다.

처음에는 단순하게 for문을 2중으로 돌려 풀었는데 정확도는 맞았으나 효율성에서 시간 초과가 떠서 다시 고민했다.

반응형