λ¬Έμ
μΈμ λ μ΅κ³ λ§μ μ§ν₯νλ κ΅΄μ§μ λκΈ°μ μ§μ μ£Όμνμ¬κ° μ κ· μ¬μ μ±μ©μ μ€μνλ€. μΈμ¬ μ λ° μνμ 1μ°¨ μλ₯μ¬μ¬μ 2μ°¨ λ©΄μ μνμΌλ‘ μ΄λ£¨μ΄μ§λ€. μ΅κ³ λ§μ μ§ν₯νλ€λ κΈ°μ μ μ΄λ μ λ°λΌ κ·Έλ€μ μ΅κ³ μ μΈμ¬λ€λ§μ μ¬μμΌλ‘ μ λ°νκ³ μΆμ΄ νλ€.
κ·Έλμ μ§μ μ£Όμνμ¬λ, λ€λ₯Έ λͺ¨λ μ§μμμ λΉκ΅νμ λ μλ₯μ¬μ¬ μ±μ κ³Ό λ©΄μ μν μ±μ μ€ μ μ΄λ νλκ° λ€λ₯Έ μ§μμλ³΄λ€ λ¨μ΄μ§μ§ μλ μλ§ μ λ°νλ€λ μμΉμ μΈμ λ€. μ¦, μ΄λ€ μ§μμ Aμ μ±μ μ΄ λ€λ₯Έ μ΄λ€ μ§μμ Bμ μ±μ μ λΉν΄ μλ₯ μ¬μ¬ κ²°κ³Όμ λ©΄μ μ±μ μ΄ λͺ¨λ λ¨μ΄μ§λ€λ©΄ Aλ κ²°μ½ μ λ°λμ§ μλλ€.
μ΄λ¬ν 쑰건μ λ§μ‘±μν€λ©΄μ, μ§μ μ£Όμνμ¬κ° μ΄λ² μ κ· μ¬μ μ±μ©μμ μ λ°ν μ μλ μ μ μ¬μμ μ΅λ μΈμμλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ ν μ€νΈ μΌμ΄μ€μ κ°μ T(1 ≤ T ≤ 20)κ° μ£Όμ΄μ§λ€. κ° ν μ€νΈ μΌμ΄μ€μ 첫째 μ€μ μ§μμμ μ«μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° Nκ° μ€μλ κ°κ°μ μ§μμμ μλ₯μ¬μ¬ μ±μ , λ©΄μ μ±μ μ μμκ° κ³΅λ°±μ μ¬μ΄μ λκ³ ν μ€μ μ£Όμ΄μ§λ€. λ μ±μ μμλ λͺ¨λ 1μλΆν° NμκΉμ§ λμμ°¨ μμ΄ κ²°μ λλ€κ³ κ°μ νλ€.
μΆλ ₯
κ° ν μ€νΈ μΌμ΄μ€μ λν΄μ μ§μ μ£Όμνμ¬κ° μ λ°ν μ μλ μ μ μ¬μμ μ΅λ μΈμμλ₯Ό ν μ€μ νλμ© μΆλ ₯νλ€.
νμ΄
μ£Όμ΄μ§ μμκ° κ° μ§μμλ€μ μ μκ° μλ "μμ"λΌλ κ²μ μμμΌ νλ€! μ¦, μ«μκ° μμμλ‘ μ’μ κ²μ΄λ€.
01. pairλ₯Ό μ¬μ©ν΄ μλ₯μ¬μ¬ μμμ λ©΄μ μμλ₯Ό κ°μ΄ λ°λλ€
02. sortλ₯Ό μ΄μ©ν΄ μλ₯μ¬μ¬ μμλλ‘ μ λ ¬νλ€
sortλ μΈμκ° λ κ°μΌ κ²½μ°, μμ μλ μΈμ λ¨Όμ μ λ ¬νλ€.
03. λ©΄μ μμλ₯Ό 체ν¬νλ ν¨μλ₯Ό λ§λ λ€
- μλ₯ 1λ±μ 무쑰건 ν©κ²©μ΄λΌλ κ²μ μκ°ν΄μΌ νλ€. (μλ₯, λ©΄μ λͺ¨λμμ λ°λ¦¬λ μΌμ μμ - μλ₯ 1λ±μ΄λκΉ!)
-> μΌλ¨ ν©κ²©μ(cnt) μλ 1λͺ λΆν° μμνλ€
- μλ₯ 1λ±μ λ©΄μ μμλ³΄λ€ λμμΌ ν©κ²©νλ€ (λλ¨Έμ§λ μ΄λ―Έ μλ₯μμ λ°λ ΈκΈ° λλ¬Έ)
-> κΈ°μ€μ μλ₯ 1λ±μ λ©΄μ μμ(arr[0].second)λ‘ μ‘λλ€
- λ§μ½ μλ₯ 1λ±μ λ©΄μ μμλ³΄λ€ λμ μμκ° μκΈ°λ©΄ κ·Έ μ¬λμ΄ κΈ°μ€μ΄ λλ€.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<pair<int, int>> arr;
// λ©΄μ μμ 체ν¬
int solution(int n){
// μλ₯ 1λ±μ 무쑰건 ν©κ²©
// μλ₯ 1λ±μ λ©΄μ μμλ³΄λ€ λμμΌ ν©κ²©
int cnt = 1;
int standard = arr[0].second;
for (int i=1; i<n; i++){
if (arr[i].second < standard){
standard = arr[i].second;
cnt++;
}
}
return cnt;
}
int main(){
int t, n;
cin >> t;
for (int i=0; i<t; i++){
cin >> n;
arr.assign(n, {0, 0});
for (int j=0; j<n; j++){
cin >> arr[j].first >> arr[j].second;
}
// μλ₯ μμλλ‘ μ λ ¬
sort(arr.begin(), arr.end());
cout << solution(n) << "\n";
}
}
'β¨ Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/C++] 11651λ² : μ’ν μ λ ¬νκΈ° 2 (0) | 2021.09.06 |
---|---|
[λ°±μ€/C++] 10994λ² : λ³ μ°κΈ° - 19 (0) | 2021.09.06 |
[λ°±μ€/C++] 1431λ² : μλ¦¬μΌ λ²νΈ (0) | 2021.09.06 |
[λ°±μ€/C++] 1316λ² : κ·Έλ£Ή λ¨μ΄ 체컀 (0) | 2021.09.06 |
[λ°±μ€/C++] 1026λ² : 보물 (0) | 2021.09.06 |
λκΈ