λ¬Έμ (μΆμ²: https://www.acmicpc.net/problem/11000)
< κ°μμ€ λ°°μ >
λ¬Έμ νμ΄
μ°μ μμ ν aμ [μμ μμ μκ°, λλ μκ°] λ°°μ΄λ‘ μ μ₯νλ€. μ΄λ μ°μ μμλ μμ μμμκ°μ΄ λΉ λ₯Έ μμΌλ‘, μμ μκ°μ΄ κ°λ€λ©΄ λλλ μκ°μ΄ λΉ λ₯Έ μμΌλ‘ μ λ ¬νλ€. μ°μ μμ ν a μμ λ€μ΄μλ κ°λΆν° λ½μλ΄μ΄ λ λ€λ₯Έ μ°μ μμ ν bμ λλλ μκ°λ§ μ μ₯νλ€. μ΄λ, b μ € μμ λ€μ΄μλ κ°μ΄ μ μ₯νλ €λ κ° λ³΄λ€ μκ±°λ κ°λ€λ©΄ μμ μ΄ λλ ν λ€μ μμ μ μμν μ μμΌλ―λ‘ bμμ poll ν ν λ£μ΄μ€λ€.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class _11000_ { // κ°μμ€ λ°°μ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
PriorityQueue<int[]> queue = new PriorityQueue<>(new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if (o1[0] == o2[0])
return o1[1] - o2[1];
return o1[0] - o2[0];
}
});
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
queue.add(new int[] { Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()) });
}
PriorityQueue<Integer> temp = new PriorityQueue<>();
while (!queue.isEmpty()) {
int num[] = queue.poll();
if (temp.size() == 0)
temp.add(num[1]);
else {
if(temp.peek()<=num[0]) {
temp.poll();
}
temp.add(num[1]);
}
}
System.out.println(temp.size());
}
}
Main
λ³μ)
n : κ°μ μ
queue: μ°μ μμ ν [μμ μμ μκ°, μμ λλ μκ°]
temp : μ°μ μμ ν [μμ λλ μκ°]
- κ°μ μ(n) μ λ ₯
- κ°μ μλ§νΌ μ λ ₯λ°μ μ°μ μμ ν queueμ μ μ₯
- queue κ° λΉ λκΉμ§ λ°λ³΅
: tempκ° λΉμ΄μλ€λ©΄ κ·Έλ₯ μ μ₯
: tempκ° λΉμ΄μμ§ μκ³ μ € 첫 λ²μ§Έ κ°μ΄ λ€μ΄κ° κ° λ³΄λ€ μκ±°λ κ°λ€λ©΄ μμ μ΄ λλ ν λ€μ μμ μ μμν μ μλ€λ λ»μ΄λ―λ‘ poll ν μΆκ°
- κ°μμ€ κ°μλ tempμ sizeμ΄λ―λ‘ temp size μΆλ ₯
'πAlgorithm > π₯Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Baekjoon] 1374_κ°μμ€ (0) | 2023.08.15 |
---|---|
[Baekjoon] 19598_μ΅μ νμμ€ κ°μ (0) | 2023.08.14 |
[Baekjoon] 24511_queuestack (0) | 2023.08.11 |
[Baekjoon] 26042_μλΉ μ ꡬ λκΈ° μ€ (0) | 2023.08.10 |
[Baekjoon] 28107_νμ μ΄λ°₯ (0) | 2023.08.09 |