Programmers

[python] 체육복

DylanMsK 2019. 9. 6. 00:06

문제 출처

체육복

 

풀이


def solution(n, lost, reserve):
    take = [0 if i in lost else 1 for i in range(n+1)]
    idx = 0
    while idx < len(reserve):
        if take[reserve[idx]] == 0:
            take[reserve.pop(idx)] = 1
        else:
            idx += 1

    heap = (-1, 1)
    for i in reserve:
        for j in heap:
            if 0 < i+j <= n and take[i+j] == 0:
                take[i+j] = 1
                break


    return sum(take)-1