๋ฌธ์
๋ ์ ๋ด๋ A์ B ์ฌ์ด์ ํ๋ ๋์ฉ ์ ๊น์ค์ ์ถ๊ฐํ๋ค ๋ณด๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ์๋ค. ํฉ์ ์ ์ํ์ด ์์ด ์ด๋ค ์ค ๋ช ๊ฐ์ ์ ๊น์ค์ ์์ ์ ๊น์ค์ด ๊ต์ฐจํ์ง ์๋๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด, < ๊ทธ๋ฆผ 1 >๊ณผ ๊ฐ์ด ์ ๊น์ค์ด ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒฝ์ฐ A์ 1๋ฒ ์์น์ B์ 8๋ฒ ์์น๋ฅผ ์๋ ์ ๊น์ค, A์ 3๋ฒ ์์น์ B์ 9๋ฒ ์์น๋ฅผ ์๋ ์ ๊น์ค, A์ 4๋ฒ ์์น์ B์ 1๋ฒ ์์น๋ฅผ ์๋ ์ ๊น์ค์ ์์ ๋ฉด ๋จ์์๋ ๋ชจ๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ์ง ์๊ฒ ๋๋ค.
์ ๊น์ค์ด ์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น๋ ์ ๋ด๋ ์์์๋ถํฐ ์ฐจ๋ก๋๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๋ค. ์ ๊น์ค์ ๊ฐ์์ ์ ๊น์ค๋ค์ด ๋ ์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง ๋, ๋จ์์๋ ๋ชจ๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ์ง ์๊ฒ ํ๊ธฐ ์ํด ์์ ์ผ ํ๋ ์ ๊น์ค์ ์ต์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์๋ ๋ ์ ๋ด๋ ์ฌ์ด์ ์ ๊น์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ๊น์ค์ ๊ฐ์๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ์ ๊น์ค์ด A์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ์ B์ ๋ด๋์ ์ฐ๊ฒฐ๋๋ ์์น์ ๋ฒํธ๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. ์์น์ ๋ฒํธ๋ 500 ์ดํ์ ์์ฐ์์ด๊ณ , ๊ฐ์ ์์น์ ๋ ๊ฐ ์ด์์ ์ ๊น์ค์ด ์ฐ๊ฒฐ๋ ์ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ์์๋ ๋ชจ๋ ์ ๊น์ค์ด ์๋ก ๊ต์ฐจํ์ง ์๊ฒ ํ๊ธฐ ์ํด ์์ ์ผ ํ๋ ์ ๊น์ค์ ์ต์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
8
1 8
3 9
2 2
4 1
6 4
10 10
9 7
7 6
์์ ์ถ๋ ฅ
3
ํด๊ฒฐ ๋ฐฉ๋ฒ
LIS(Longest Increasing Subsequence) ๊ด๋ จ ๋ฌธ์ ์ด๋ค.
A ์ ๋ด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ์ ๋ค์ ์ ๋ ฌํ ๋ค, B ์ ๋ด๋์ ๋ํด์ LIS๋ฅผ ๊ตฌํ๋ฉด LIS๊ฐ์ด ๊ต์ฐจํ์ง ์๊ณ ์ ์งํ ์ ์๋ ์ ๊น์ค์ ์ต๋ ๊ฐ์์ด๋ค.
๋ฐ๋ผ์ "n - LIS" ๊ฐ์ด ์์ ์ผ ํ ์ ๊ฐฏ์ค์ ์ต์ ๊ฐฏ์์ด๋ค.
n = int(input())
lines = [list(map(int, input().split())) for _ in range(n)]
lines.sort()
dp = [1 for _ in range(n)]
for i in range(1, n):
for j in range(i):
if lines[i][1] > lines[j][1]:
dp[i] = max(dp[i], dp[j] + 1)
print(n - max(dp))
'๐์ฝ๋ฉํ ์คํธ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 4485 - ๋ น์ ์ท ์ ์ ์ ๊ฐ ์ ค๋ค์ง? (0) | 2024.11.18 |
---|---|
[๋ฐฑ์ค] 22988 - ์ฌํ์ฉ ์บ ํ์ธ (0) | 2024.11.14 |
[๋ฐฑ์ค] 19942 - ๋ค์ด์ดํธ (1) | 2024.11.12 |
[๋ฐฑ์ค] 15649 - N๊ณผ M (1) (0) | 2024.11.11 |
[๋ฐฑ์ค] 1520 - ๋ด๋ฆฌ๋ง (0) | 2024.11.10 |