def solution(n, lost, reserve): student = [1]*(n+2) for i in lost : student[i] -=1 for i in reserve : student[i] +=1 for n,i in enumerate(student) : if i ==0 : if student[n-1] ==2 : student[n] = 1 student[n-1] =1 elif student[n+1] ==2 : student[n] = 1 student[n+1] =1 return len([i for i in student if i>0])-2 풀이. 탐욕법 카테고리의 문제.
탐욕법에 대해서는 다중에 따로 정리하겠다. 우선 학생수 +2 만큼 배열을 선언하고, 기본적으로 체육복을 가지고 있다는 의미에서 1을 부여한다.
그리고 체육복을 잃어버린 학생의 lost 배열에서 체육복을 잃어버린 학생의 체육복 수를 1빼준다. 반대로 여분을 가진 reserve 배열에 해당되는 학생들은 체육복을...
#
1단계
#
체육복
#
코딩테스트
#
탐욕법
#
파이썬
#
프로그래머스
원문 링크 : [프로그래머스 파이썬 코딩테스트 1단계]체육복