컴퓨터공학/알고리즘 문제풀이

[프로그래머스 C++] 요격 시스템

Pyxis 2024. 10. 31. 16:12

[ 프로그래머스 C++ : 요격 시스템 ]

 

단속 카메라 문제와 거의 동일.

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<vector<int>> targets) {
    int answer = 0;
    
    ::sort(targets.begin(), targets.end(), [](const vector<int>& A, const vector<int>& B) { return A[1] < B[1]; });
    
    // [[1, 4], [4, 5], [3, 7], [4, 8], [5, 12], [11, 13], [10, 14]]
    int cnt = 0;
    int last = -1;
    for (int i=0; i<targets.size(); i++)
    {
        const int start = targets[i][0];
        const int end = targets[i][1];
        
        if (last <= start)
        {
            cnt++;
            last = end;
        }
    }
    
    return answer = cnt;
}