- Today
- Total
- λ€μ΅μ€νΈλΌ
- Algorithm
- λ¬Έλ²
- dp
- μλ£κ΅¬μ‘°
- λ°±μλ
- Graph
- μ‘Έμ μν
- νλ‘κ·Έλλ¨Έμ€
- BFS
- CS
- PS
- μΈν΄
- μλ°
- spring
- λ°μ΄ν°λ² μ΄μ€
- pytorch
- array
- OOP
- μλ°μμ μ
- java
- μμμ λ ¬
- leetcode
- MST
- λ°±μ€
- 벨λ§ν¬λ
- 그리λ
- database
- tree
- ꡬν
Partially Committed
[λ°±μ€ 1931] νμμ€ λ°°μ λ³Έλ¬Έ
https://www.acmicpc.net/problem/1931
μ΄λ©΄μ μ½ν μ μμν μ μ λͺλ² μμ§λ§
μ΄ νμμ€ λ°°μ μ νμ΄ μκΎΈ λμ€λ κ² κ°μμ μ΄λ² κΈ°νμ κ΄λ ¨ μ νμ λͺ¨μ‘°λ¦¬ μ 리ν΄λ³΄λ €νλ€.
1931 νμμ€ λ°°μ λ¬Έμ λ κ·Έ μ€μμλ κ°μ₯ κΈ°λ³Έμ μΈ λ¬Έμ μ΄λ€.
λ¬Έμ μν©μ λ¨μνλ€.
νμμ€μ΄ νλ μ‘΄μ¬νκ³ ,
μμμκ°, λμκ°μΌλ‘ μ΄λ£¨μ΄μ§ νμ μκ°νλ€μ΄ N κ° μ£Όμ΄μ§ λ
μ΅λν λ§μ΄ μ§νν μ μλ νμμ κ°μλ₯Ό ꡬνλ©΄ λλ€.
μ¦,
νμμ€μ΄ μ¬μ©λμ§ μλ μκ°μ μ΅μνν΄μΌ νλ€λ κ²μ΄λ€.
μ΄λ»κ² ν μ μμκΉ..?
μκ°ν΄λ³΄λ©΄ μ½κ² λ μ¬λ¦΄ μ μλ€.
κ·Έλ₯!
νμ μ’ λ£ μκ°μ΄ λΉ λ₯Έ μμΌλ‘ λ°°μ νλ©΄ λλ€.
μμ μν©μ ν΅ν΄ μκ°ν΄λ³΄μ.
μμ 1 μΌμ΄μ€λ μ΄λ―Έ μ λ ¬λ μνλ‘ μ£Όμ΄μ§λ€.
κ·ΈλΌ μ λ ¬νλ€κ³ μΉκ³ ,
맨 μ²μμλ
(1, 4) λ₯Ό λ°°μ ν κ²μ΄λ€.
κ·Έ λ€μμλ?
νμ 리μ€νΈλ₯Ό νμνλ©΄μ,
μ΄μ μ νμμ λμκ° μ΄νμ μμνλ νμλ₯Ό λ°°μ νλ©΄ λλ€.
μ κ²½μ°μλ (5,7) μ΄ ν΄λΉν κ²μ΄λ€.
κ·Έ λ€μμ μ무λλ 8, 11 μ΄ μ μ ν κ²μ΄κ³
κ·Έ λ€μμ 12, 14 λ₯Ό λ°°μ ν΄μΌ ν κ²μ΄λ€.
μ΅μ’ μΆλ ₯μ νμλ₯Ό λ°°μ ν κ°μλ₯Ό λ°ννλ©΄ λλ€.
νμλ₯Ό λ°°μ ν κ°μλ₯Ό λ°ννκΈ° μν΄μλ,
λ³μλ₯Ό νλ λκ³ κ³μ μΉ΄μ΄ν μ ν΄λ λμ§λ§
λλ stack μ λ§λ€μ΄λκ³
stack μ "μ΄μ νμμ λλλ μκ°" μ push νλ λ°©λ²μ μ¬μ©νλ€.
μ΄λ κ²νλ©΄ stack μ size κ° λ΅μ΄ λλ€.
μ½λλ μλμ κ°λ€.
import java.io.*;
import java.util.ArrayList;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
System.setIn(new FileInputStream("src/input.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer stk;
Stack<Integer> st = new Stack<>();
ArrayList<int[]> table = new ArrayList<>();
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
stk = new StringTokenizer(br.readLine());
int s = Integer.parseInt(stk.nextToken());
int e = Integer.parseInt(stk.nextToken());
table.add(new int[]{s, e});
}
// λλλ μκ°μ΄ λΉ λ₯Έ μμΌλ‘ μ λ ¬
table.sort((int[] a, int[] b) -> {
if (a[1] == b[1]) {
return a[0] - b[0];
}
return a[1] - b[1];
});
for (int i = 0; i < table.size(); i++) {
int[] now = table.get(i);
if (st.isEmpty()) {
st.add(now[1]);
} else if (now[0] >= st.peek()) {
st.add(now[1]);
}
}
System.out.println(st.size());
bw.flush();
bw.close();
}
}
'π₯ Algorithm || λ¬Έμ νμ΄ > PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 19622] νμμ€ λ°°μ 3 (JAVA) (0) | 2023.08.18 |
---|---|
μΈκ·Έλ¨ΌνΈ νΈλ¦¬ (Java, Segment tree) (0) | 2023.08.09 |
[λ°±μ€ 1213] ν°λ¦°λ둬 λ§λ€κΈ° JAVA (λ¬Έμμ΄, 그리λ, ꡬν) (0) | 2023.06.26 |
[λ°±μ€ 15681] νΈλ¦¬μ 쿼리 (νΈλ¦¬ DP) (2) | 2023.06.07 |
[λ°±μ€ 9019] DSLR μλ°(BFS + κ²½λ‘ μΆμ ) (0) | 2023.06.03 |