https://www.acmicpc.net/problem/1931
λ¬Έμ
ν κ°μ νμμ€μ΄ μλλ° μ΄λ₯Ό μ¬μ©νκ³ μ νλ Nκ°μ νμμ λνμ¬ νμμ€ μ¬μ©νλ₯Ό λ§λ€λ €κ³ νλ€. κ° νμ Iμ λν΄ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ Έ μκ³ , κ° νμκ° κ²ΉμΉμ§ μκ² νλ©΄μ νμμ€μ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μ°Ύμ보μ. λ¨, νμλ νλ² μμνλ©΄ μ€κ°μ μ€λ¨λ μ μμΌλ©° ν νμκ° λλλ κ²κ³Ό λμμ λ€μ νμκ° μμλ μ μλ€. νμμ μμμκ°κ³Ό λλλ μκ°μ΄ κ°μ μλ μλ€. μ΄ κ²½μ°μλ μμνμλ§μ λλλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
μ λ ₯
첫째 μ€μ νμμ μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N+1 μ€κΉμ§ κ° νμμ μ λ³΄κ° μ£Όμ΄μ§λλ° μ΄κ²μ 곡백μ μ¬μ΄μ λκ³ νμμ μμμκ°κ³Ό λλλ μκ°μ΄ μ£Όμ΄μ§λ€. μμ μκ°κ³Ό λλλ μκ°μ 231-1λ³΄λ€ μκ±°λ κ°μ μμ°μ λλ 0μ΄λ€.
μΆλ ₯
첫째 μ€μ μ΅λ μ¬μ©ν μ μλ νμμ μ΅λ κ°μλ₯Ό μΆλ ₯νλ€.
λ΄ νμ΄
μ΄ λ¬Έμ λ 그리λ λ¬Έμ μμ μκ°νλ©΄μ, 맀 λ°λ³΅λ¬Έλ§λ€ μ΅μ μ ν΄λ₯Ό ꡬνλ €κ³ κ³ λ―Όνλ€.
ν νμμ€μμ νμλ₯Ό λ§μ΄ νκΈ° μν΄μλ νμ μ’ λ£ μκ°μ΄ λΉ λ₯Έ νμλ€λ‘ ꡬμ±μ ν΄μΌνλ€.
κ³Όμ μ λ€μκ³Ό κ°λ€.
- νμλ€μ μμ μκ°κ³Ό μ’ λ£ μκ°μ μ λ ₯ λ°λλ€.
- μμ μκ°μ΄ λΉ λ₯Έ μμΌλ‘ μ λ ¬ν΄μ€λ€.
- μ λ ¬λ νμ μκ°νλ₯Ό μννλ©΄μ μ΅λ νμ μλ₯Ό ꡬνλ€.
- νμ μ(max), νμ¬ νμ μμ μκ°(curstart), νμ¬ νμ μ’ λ£μκ°(curend)μ μ μ₯ν λ³μ μ μΈνλ€.
- μ νμκ° νμ¬ νμμ μκ°μ΄ κ²ΉμΉλ©΄μ μ’
λ£ μκ°μ΄ λ λΉ λ₯Έ νμλΌλ©΄
- νμ¬ νμ μμ μκ°κ³Ό νμ¬ νμ μ’ λ£ μκ°μ μ νμ μκ°μΌλ‘ κ°±μ νλ€.
- → μ νμλ₯Ό νμ¬ νμλ‘ μ€μ
- μ νμκ° νμ¬ νμ μ’
λ£ ν μμλλ νμλΌλ©΄
- νμ μ +1
- νμ¬ νμ μμ μκ°κ³Ό νμ¬ νμ μ’ λ£ μκ°μ μ νμ μκ°μΌλ‘ κ°±μ νλ€.
- → μ νμλ₯Ό λ€μ νμλ‘ μ€μ
- μ΅λ νμ μλ₯Ό λ°ννλ€.
#include <iostream>
#include <vector>
#include <algorithm>
#include <limits.h>
using namespace std;
int main()
{
int count;
vector<pair<int, int>> meetings;
cin >> count;
for (int i = 0; i < count; ++i)
{
int start, end;
cin >> start >> end ;
meetings.push_back({start, end});
}
sort(meetings.begin(), meetings.end());
int max = 0;
int curstart = 0;
int curend = 0;
for (auto m : meetings)
{
// νμκ° κ²ΉμΉ λ, λλλ μκ°μ΄ λ μμ κ²μ νμ¬ νμλ‘ μ€μ νλ€.
if (curend > m.first)
{
if (curend > m.second)
{
curstart = m.first;
curend = m.second;
}
}
// νμκ° κ²ΉμΉμΉ μμλ λ€μ νμλ‘ μ€μ νλ€.
else
{
++max;
curstart = m.first;
curend = m.second;
}
}
cout << max << endl;
return 0;
}
'π₯οΈ Study Note > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 1926] κ·Έλ¦Ό(C++) (0) | 2023.11.18 |
---|---|
[λ°±μ€ 1003] νΌλ³΄λμΉ ν¨μ (C++) (0) | 2023.10.25 |
[Hacker Rank] Organizing Containers of Balls (C++) (1) | 2023.10.09 |
[νλ‘κ·Έλλ¨Έμ€]level.3 - μΉ΄λ μ§ λ§μΆκΈ°(C++) (1) | 2023.10.05 |
[νλ‘κ·Έλλ¨Έμ€]level.3 - λΆλλ³΅κ· (C++) (0) | 2023.10.04 |