https://www.acmicpc.net/problem/1946
문제 풀이
일단 서류 심사 결과를 기준으로 정렬한 뒤, 서류심사 결과가 1등인 사람부터의 면접성적을 기준으로 min_value를 설정해 서류심사의 성적이 낮은사람의 면접성적이 min_value 보다 낮으면 count를 하고 min_value를 수정했다.
소스 코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T;
for (int i = 0; i < T; i++) {
vector<pair<int, int>> docu_inter;
int N;
cin >> N;
for (int j = 0; j < N; j++) {
int docu, inter;
cin >> docu >> inter;
docu_inter.push_back(make_pair(docu, inter));
}
sort(docu_inter.begin(), docu_inter.end());
int min_value = docu_inter[0].second;
int cnt = 1;
for (int j = 1; j < N; j++) {
int value = docu_inter[j].second;
if (min_value > value) {
cnt += 1;
min_value = value;
}
}
cout << cnt << '\n';
}
}
'알고리즘' 카테고리의 다른 글
[백준] 1012번 유기농 배추 C++ 문제풀이 (0) | 2023.08.30 |
---|---|
[백준] 1018번 체스판 다시 칠하기 C++ 문제풀이 (0) | 2023.08.29 |
[백준] 16953번 A -> B C++ 문제풀이 (0) | 2023.08.20 |
[백준] 1783번 병든 나이트 C++ 문제풀이 (0) | 2023.08.18 |
[백준] 4796번 캠핑 C++ 문제풀이 (0) | 2023.08.17 |