쌓고 쌓다
[프로그래머스] 요격 시스템 C++ 풀이 및 해설 본문
https://school.programmers.co.kr/learn/courses/30/lessons/181188#
풀이 방법
- e를 기준으로 정렬을 합니다.
- 순차적으로 방문하며 다음 과정을 거칩니다.
- 다음 미사일의 s가 현재 요격한 미사일의 e보다 크거나 같다면 새로운 요격 미사일이 필요합니다.
- 다음 미사일의 s가 현재 요격한 미사일의 e보다 작다면 앞서 요격한 미사일(현재 요격한 미사일) 때 사용한 요격 미사일로 막을 수 있습니다.
전체 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool comp(vector<int>& a, vector<int>& b) {
if(a[1]<b[1])
return true;
else
return false;
}
int solution(vector<vector<int>> targets) {
int answer = 0;
sort(targets.begin(), targets.end(), comp);
int e = 0;
for(int i=0; i<targets.size(); i++) {
if(targets[i][0] >= e) {
e = targets[i][1];
answer++;
}
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 네트워크 Java 풀이 및 해설 (0) | 2024.04.06 |
---|---|
[프로그래머스] 3 x n 타일링 Java 풀이 및 해설 (1) | 2024.04.05 |
[프로그래머스] 조이스틱 C++ 풀이 및 해설 (0) | 2024.03.28 |
[프로그래머스] 혼자서 하는 틱택토 C++ 풀이 및 해설 (0) | 2024.03.20 |
[프로그래머스] 가장 많이 받은 선물 C++ 풀이 및 해설 (1) | 2024.03.16 |
Comments