๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/6221)
< The Bale Tower >
๋ฌธ์ ํ์ด
๊ฑด์ด ๋๋ฏธ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ ํ์ํ๋ฉฐ ์์ ๊ฑด์ด ๋๋ฏธ๊ฐ ํ์ฌ ๊ฑด์ด ๋๋ฏธ๋ณด๋ค ๋๋น์ ๊น์ด๊ฐ ๋ชจ๋ ์์์ง ํ์ธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.StringTokenizer;
public class _6221_ { // The Bale Tower
static class Pair {
int w, b;
public Pair(int w, int b) {
this.w = w;
this.b = b;
}
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
ArrayList<Pair> list = new ArrayList<>();
int dp[] = new int[n];
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
list.add(new Pair(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())));
dp[i] = 1;
}
Collections.sort(list, new Comparator<Pair>() {
@Override
public int compare(Pair o1, Pair o2) {
if (o1.w == o2.w) {
return o1.b - o2.b;
}
return o1.w - o2.w;
}
});
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++) {
if (list.get(j).w < list.get(i).w && list.get(j).b < list.get(i).b) {
dp[i] = Math.max(dp[i], dp[j] + 1);
}
}
}
int result = 0;
for (int i = 0; i < n; i++) {
result = Math.max(result, dp[i]);
}
System.out.println(result);
}
}
๋ณ์)
n : ๊ฑด์ด ๋๋ฏธ์ ๊ฐ์
list : ๊ฑด์ด ๋๋ฏธ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ArrayList
dp : ๊ท์น์ ์ง์ผ ์์ ์ ์๋ ํ์ ๋์ด
result : ๊ท์น์ ์ง์ผ ์์ ์ ์๋ ๊ฐ์ฅ ๋์ ํ์ ๋์ด
๊ฑด์ด ๋๋ฏธ์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๊ฑด์ด ๋๋ฏธ์ ๊ฐ์๋งํผ ๊ฑด์ด ๋๋ฏธ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ์ ArrayList์ ์ ์ฅํ๊ณ , dp๋ฅผ 1๋ก ์ด๊ธฐํํ๋ค. ๊ฑด์ด ๋๋ฏธ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค. ๊ฑด์ด ๋๋ฏธ๋ฅผ ํ์ํ๋ฉฐ ์์ ๊ฑด์ด ๋๋ฏธ๊ฐ ํ์ฌ ๊ฑด์ด ๋๋ฏธ๋ณด๋ค ๋๋น์ ๊น์ด๊ฐ ๋ชจ๋ ์์์ง ํ์ธํ๋ค.
์ต์ข dp๋ฅผ ํ์ํ๋ฉฐ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 18353_๋ณ์ฌ ๋ฐฐ์นํ๊ธฐ (0) | 2026.01.29 |
|---|---|
| [Baekjoon] 14501_ํด์ฌ (0) | 2026.01.27 |
| [Baekjoon] 10571_๋ค์ด์๋ชฌ๋ (0) | 2026.01.23 |
| [Baekjoon] 14231_๋ฐ์ค ํฌ์ฅ (0) | 2026.01.22 |
| [Baekjoon] 15645_๋ด๋ ค๊ฐ๊ธฐ 2 (0) | 2026.01.20 |