Algorithm/Programmers

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

Dev.sohee 2021. 2. 28. 23:54

programmers.co.kr/learn/courses/30/lessons/42862#

 

코딩테스트 연습 - 체육복

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번

programmers.co.kr

def solution(n, lost, reserve):
    answer = 0
    students = [1] * n
    for i in lost:
        students[i-1] -= 1
    
    for i in reserve:
        students[i-1] += 1
        
    for i in range(n):
        if students[i] == 0:
            if i != 0 and students[i-1] >= 2:
                students[i] += 1
                students[i-1] -= 1
            elif i != n-1 and students[i+1] >= 2:
                students[i] += 1
                students[i+1] -= 1
    
    for i in range(n):
        if students[i] > 0:
            answer += 1
            
    return answer