λ¬Έμ (μΆμ²: https://www.acmicpc.net/problem/1374)
< κ°μμ€ >
λ¬Έμ νμ΄
μ°μ μμ ν 2κ°λ₯Ό μ¬μ©ν΄μ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
μ°μ μμ ν νλμλ [κ°μ μμ μκ°, κ°μ λλλ μκ°] λ°°μ΄μ μ μ₯ν΄μ μ°μ μμλ₯Ό κ°μ μμμκ°μ΄ λΉ λ₯Έ μμΌλ‘, μμ μκ°μ΄ κ°λ€λ©΄ λλλ μκ°μ΄ λΉ λ₯Έ μμΌλ‘ μ λ ¬νλ€.
λ€λ₯Έ μ°μ μμ νμλ κ°μ λλλ μκ°μ μ μ₯νλ€. μ΄λ, μ΄ μ°μ μμ ν μ € μμ μλ κ°μ΄ μλ‘ λ€μ΄μ€λ κ° λ³΄λ€ μκ±°λ κ°λ€λ©΄ κ°μκ° λλ ν λ€μ νμλ₯Ό μμν μ μλ κ²μ΄λ―λ‘ 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 _1374_ { // κ°μμ€
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());
st.nextToken();
queue.add(new int[] { Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()) });
}
PriorityQueue<Integer> room = new PriorityQueue<>();
room.add(queue.poll()[1]);
while (!queue.isEmpty()) {
int time[] = queue.poll();
if (room.peek() <= time[0]) {
room.poll();
}
room.add(time[1]);
}
System.out.println(room.size());
}
}
Main
λ³μ)
n : κ°μ μ
queue: μ°μ μμ ν [κ°μ μμ μκ°, κ°μ λλ μκ°]
room: μ°μ μμ ν [κ°μ λλ μκ°]
- κ°μ μ(n) μ λ ₯
- κ°μ μλ§νΌ μ λ ₯λ°μ μ°μ μμ ν queueμ μ μ₯
- room μ°μ μμ νμ queue κ°μ λ½μ λ¨Όμ κ°μμ€ νλ μ μ₯
- queue κ° λΉ λκΉμ§ λ°λ³΅
: room μ°μ μμ νμ μ € 첫 λ²μ§Έ κ°μ΄ λ€μ΄κ° κ° λ³΄λ€ μκ±°λ κ°λ€λ©΄ κ°μκ° λλ ν λ€μ κ°μλ₯Ό μμν μ μλ€λ λ»μ΄λ―λ‘ poll ν μΆκ°
- κ°μμ€ κ°μλ roomμ sizeμ΄λ―λ‘ room size μΆλ ₯
'πAlgorithm > π₯Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Baekjoon] 18917_μμ΄κ³Ό 쿼리 38 (0) | 2023.08.16 |
---|---|
[Baekjoon] 1379_κ°μμ€ 2 (0) | 2023.08.15 |
[Baekjoon] 19598_μ΅μ νμμ€ κ°μ (0) | 2023.08.14 |
[Baekjoon] 11000_κ°μμ€ λ°°μ (0) | 2023.08.14 |
[Baekjoon] 24511_queuestack (0) | 2023.08.11 |