๋ฌธ์
https://www.acmicpc.net/problem/1946
๋ฌธ์ ์ดํด
- ์ง์์๋ง๋ค ์๋ฅ ๋ฑ์, ๋ฉด์ ๋ฑ์๊ฐ ์ฃผ์ด์ง๋ค.
- ํ ์ง์์ A๊ฐ ๋ค๋ฅธ ์ง์์ B๋ณด๋ค ์๋ฅ/๋ฉด์ ๋ชจ๋์์ ๋ฑ์๊ฐ ๋ฎ์ผ๋ฉด ํ๋ฝํ๋ค.
- ์ต์ข ์ ์ผ๋ก ์ ๋ฐ๋ ์ ์๋ ์ง์์ ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ค.
๋ฌธ์ ํ์ด
์์ด๋์ด
์๋ฅ๊ฐ ๋ ์ข์ ์ง์์๋ฅผ ์์์๋ถํฐ ๋ณด๋๋ฐ, ์ง๊ธ๊น์ง ๋ณธ ์ฌ๋๋ค ์ค ๋ฉด์ ๋ ๋ ์ข์ง ์์ผ๋ฉด
(= ๊ธฐ์กด ์ต์๊ฐ๋ณด๋ค ์์ง ์์ผ๋ฉด), ์์ ๋๊ตฐ๊ฐ์๊ฒ ๋ ๋ค ๋ฐ๋ฆฌ๊ฒ ๋๋ฏ๋ก ํ๋ฝ ์ฒ๋ฆฌ๋๋ค.
๊ตฌํ
- ์๋ฅ ๋ฑ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
arr[์๋ฅ ๋ฑ์] = ๋ฉด์ ๋ฑ์ํํ๋ก ์ ์ฅํ๋ค.
- ์์์๋ถํฐ ํ์ผ๋ฉฐ, ํ์ฌ๊น์ง์ ๋ฉด์ ๋ฑ์ ์ต์๊ฐ์ ๊ฐฑ์ ํ๋ ์ง์์๋ง ์นด์ดํธํ๋ค.
- ๋งจ ์ฒ์(์๋ฅ 1๋ฑ)์ ๋ฌด์กฐ๊ฑด ์ ๋ฐํ๋ค.(
ans = 1,minRank = arr[1]) i = 2..N๊น์ง ์งํํ๋ฉฐarr[i] < minRank์ฒดํฌ
- ๋งจ ์ฒ์(์๋ฅ 1๋ฑ)์ ๋ฌด์กฐ๊ฑด ์ ๋ฐํ๋ค.(
์ฝ๋
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int t = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= t; tc++) {
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n + 1];
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int idx = Integer.parseInt(st.nextToken());
arr[idx] = Integer.parseInt(st.nextToken());
}
int ans = 1;
int minRank = arr[1];
for (int i = 2; i <= n; i++) {
if (minRank > arr[i]) {
ans++;
minRank = arr[i];
}
}
sb.append(ans).append("\n");
}
System.out.println(sb);
}
}'๐ญ Problem Solving > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [BOJ][Java] 14503. ๋ก๋ด ์ฒญ์๊ธฐ (0) | 2025.09.03 |
|---|---|
| [SWEA][Java] 3421. ์์ ๋ฒ๊ฑฐ ์ฅ์ธ (4) | 2025.08.29 |
| [BOJ][Java] 2492. ๋ณด์ (0) | 2025.08.20 |
| [BOJ][Java] 16926. ๋ฐฐ์ด ๋๋ฆฌ๊ธฐ 1 (4) | 2025.08.07 |
| [SWEA][Java] 5215. ํ๋ฒ๊ฑฐ ๋ค์ด์ดํธ (4) | 2025.07.18 |