๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/10571)
< ๋ค์ด์๋ชฌ๋ >
๋ฌธ์ ํ์ด
๋ค์ด์๋ชฌ๋๋ฅผ ์ดํด๋ณด๋ฉฐ ํ์ฌ ๋ค์ด์๋ชฌ๋๊ฐ ์์ ๋ค์ด์๋ชฌ๋๋ณด๋ค ์ค๋์ด ๋๊ณ , ์ ๋ช ๋๊ฐ ๋ฎ์์ง ํ์ธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _10571_ { // ๋ค์ด์๋ชฌ๋
static class Pair {
double w, c;
public Pair(double w, double c) {
this.w = w;
this.c = c;
}
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(bf.readLine());
Pair arr[] = new Pair[n];
int dp[] = new int[n];
for (int j = 0; j < n; j++) {
st = new StringTokenizer(bf.readLine());
arr[j] = new Pair(Double.parseDouble(st.nextToken()), Double.parseDouble(st.nextToken()));
dp[j] = 1;
}
for (int j = 1; j < n; j++) {
for (int k = 0; k < j; k++) {
if (arr[k].w < arr[j].w && arr[k].c > arr[j].c) {
dp[j] = Math.max(dp[j], dp[k] + 1);
}
}
}
int result = 0;
for (int j = 0; j < n; j++) {
result = Math.max(result, dp[j]);
}
bw.write(result + "\n");
}
bw.flush();
}
๋ณ์)
t : ํ ์คํธ์ผ์ด์ค ๊ฐ์
n : ๋ค์ด์๋ชฌ๋์ ์ ๋ณด ๊ฐ์
arr : ๋ค์ด์๋ชฌ๋ ์ ๋ณด
dp : ๊ฐ์น๊ฐ ๋์์ง๋ ๋ค์ด์๋ชฌ๋ ์
result : ๊ฐ์น๊ฐ ๋์์ง๋ ๋ถ๋ถ์ด ์ค ์ต์ฅ์ ๊ธธ์ด
ํ ์คํธ์ผ์ด์ค ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ ์คํธ ์ผ์ด์ค ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ๋ค์ด์๋ชฌ๋ ์ ๋ณด์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
2) ๋ค์ด์๋ชฌ๋ ์ ๋ณด์ ๊ฐ์๋งํผ ๋ค์ด์๋ชฌ๋ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ arr์ ์ ์ฅํ๊ณ , dp๋ฅผ 1๋ก ์ด๊ธฐํํ๋ค.
3) ๋ฐฐ์ด์ ํ์ํ๋ฉฐ ํ์ฌ ๋ค์ด์๋ชฌ๋๊ฐ ์์ ๋ค์ด์๋ชฌ๋๋ณด๋ค ์ค๋์ด ๋๊ณ , ์ ๋ช ๋๊ฐ ๋ฎ๋ค๋ฉด dp ๊ฐ์ ์ ๋ฐ์ดํธํ๋ค.
4) ์ต์ข dp๋ฅผ ์ดํด๋ณด๋ฉฐ ์ต๋๊ฐ์ ๊ตฌํด ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 14231_๋ฐ์ค ํฌ์ฅ (0) | 2026.01.22 |
|---|---|
| [Baekjoon] 15645_๋ด๋ ค๊ฐ๊ธฐ 2 (0) | 2026.01.20 |
| [Baekjoon] 6193_Hungry Cows (0) | 2026.01.16 |
| [Baekjoon] 11057_์ค๋ฅด๋ง ์ (0) | 2026.01.15 |
| [Baekjoon] 10844_์ฌ์ด ๊ณ๋จ ์ (0) | 2026.01.14 |