매일 조금씩

[C++] 프로그래머스 : 체육복 본문

알고리즘/그리디

[C++] 프로그래머스 : 체육복

mezo 2021. 2. 2. 00:21
728x90
반응형

 

#include <string>
#include <vector>


using namespace std;

int solution(int n, vector<int> lost, vector<int> reserve) {
    
    vector<int> v(n+1, 1);
    
    
    for(int i = 0; i<lost.size(); i++){
        v[lost[i]] -= 1;
    }
    for(int i = 0; i<reserve.size(); i++){
        v[reserve[i]] += 1;
    }
    
    
    for(int i = 1; i<v.size(); i++){
        if(v[i] == 0){
            if(v[i-1] == 2){
                v[i-1] -= 1;
                v[i] += 1;
            }
            else if(v[i+1] == 2){
                v[i+1] -= 1;
                v[i] += 1;
            }
        }
    }

    int answer = 0;
    
    for(int i = 1; i < v.size(); i++){
        if(v[i] != 0){
            answer++;
        }
    }
    
    return answer;
}
728x90
반응형