본문 바로가기

프로그래머스

[프로그래머스 Level 1] 체육복 [Python]

 


 

다른 사람 풀이

https://programmers.co.kr/learn/courses/30/lessons/42862/solution_groups?language=python3 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(n, lost, reserve):
    _reserve = [r for r in reserve if r not in lost]
    _lost = [l for l in lost if l not in reserve]
    for r in _reserve:
        f = r - 1
        b = r + 1
        if f in _lost:
            _lost.remove(f)
        elif b in _lost:
            _lost.remove(b)
    return n - len(_lost)

 

 


def solution(n, lost, reserve):
    people = [0] * n
    answer = n
    for i in lost:
        people[i-1] -= 1
    for i in reserve:
        people[i-1] += 1

    for i in range(n):
        if people[i] == -1:
            if i-1 >= 0 and people[i-1] == 1:
                people[i] += 1
                people[i-1] -= 1
            elif i+1 < n and people[i+1] == 1:
                people[i] += 1
                people[i+1] -= 1
            else:
                answer -= 1
    return answer