알고리즘 공부

프로그래머스 체육복

독서와 여행 2021. 3. 16. 14:02
def solution(n, lost, reserve):
    can = []
    erase = []
    answer = n - len(lost)
    lost = sorted(lost)
    reserve = sorted(reserve)
    for i in lost:
        if i in reserve:
            erase.append(i)
            answer += 1
    
    for i in erase:
        lost.remove(i)
        reserve.remove(i)
    
    for i in reserve:
        can.append([i - 1, i + 1])
    
    for i in lost:
        index = 0
        for j in can:
            if (i in j):
                del can[0:index + 1]
                answer += 1
                break
            index += 1
                
    return answer

뭔가 많이 비효율적인듯 하다.

다른 사람들의 코드를 한 번 살펴봐야지