프로그래머 Lv1: 체조복(욕심)


문제

코딩 테스트 연습 – 체육복 | 프로그래밍 스쿨 (programmers.co.kr)

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr

암호

#include <string>
#include <vector>

using namespace std;
int a(31);
int solution(int n, vector<int> lost, vector<int> reserve) {
    int answer = 0;
    for(int i=0;i<lost.size();i++){//체육복을 잃어버렸으면 배열을 -1해줌
        a(lost(i))--;
    }
    for(int i=0;i<reserve.size();i++){//여벌이 있으면 +1해줌
        a(reserve(i))++;
    }
    for(int i=1;i<=n;i++){
       if(a(i)==-1){//잃어버린 사람 이라면
           if(a(i-1)>=1){a(i-1)-=1;answer++;}//앞을 확인해서 여벌옷이 있으면 하나 빼주고 답을 올려줌
           else if(a(i+1)>=1){a(i+1)-=1;answer++;}//뒤를 확인해서 여벌옷이 있으면 하나 빼주고 답을 올려줌
       }
       else if(a(i)>=0)answer++;//0이상 이면 답을 올려줌
    }
    return answer;
}