๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CS/์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฑ์ค€ 2565 ํŒŒ์ด์ฌ - ์ „๊นƒ์ค„ - ๋™์  ๊ณ„ํš๋ฒ•, LIS

by ๐ŸŒปโ™š 2021. 10. 15.

๋ฐฑ์ค€ 2565 ํŒŒ์ด์ฌ

https://www.acmicpc.net/problem/2565

 

2565๋ฒˆ: ์ „๊นƒ์ค„

์ฒซ์งธ ์ค„์—๋Š” ๋‘ ์ „๋ด‡๋Œ€ ์‚ฌ์ด์˜ ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ „๊นƒ์ค„์˜ ๊ฐœ์ˆ˜๋Š” 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ „๊นƒ์ค„์ด A์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š” ์œ„์น˜์˜ ๋ฒˆํ˜ธ์™€ B์ „๋ด‡๋Œ€์™€ ์—ฐ๊ฒฐ๋˜๋Š”

www.acmicpc.net

์ด๋ฒˆ ๋ฌธ์ œ๋Š” ์ „๊นƒ์ค„์ด ์„œ๋กœ ๊ต์ฐจํ•˜์ง€ ์•Š๊ฒŒ ์—†์• ์•ผํ•˜๋Š” ์ „๊นƒ์ค„์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ... ์—ญ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ข…์ด์— ์ ์–ด๊ฐ€๋ฉด์„œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๋‹ค๋ณด๋‹ˆ ๊ทœ์น™์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋„ ์ด์ „์— ํ’€์—ˆ๋˜ LIS ๋ฌธ์ œ :

[CS/์•Œ๊ณ ๋ฆฌ์ฆ˜] - ๋ฐฑ์ค€ 11053 ํŒŒ์ด์ฌ - ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด - ๋™์  ๊ณ„ํš๋ฒ•, LIS ์˜ ์—ฐ์žฅ์„  ์‘์šฉ์ด๋‹ค.

 

์ „๊ธธ์ค„์˜ ์—ฐ๊ฒฐ ์‹œ์ž‘์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋„์ฐฉ ์ง€์ ์„ ์ ์–ด๋ณด๋ฉด....

{8, 2, 9, 1, 4, 6, 7, 10}

์„œ๋กœ ์ „๊ธธ ์ค„์ด ๊ต์ฐจํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๋ ค๋ฉด... ์—ฐ์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆซ์ž๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ฆ‰, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€๋กœ ๊ฒน์น˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ „๊นƒ ์ค„์ด๋‹ค.

 

Python ํ’€์ด

import sys
read = sys.stdin.readline

N = int(read())
lines = [list(map(int, read().split())) for _ in range(N)]
lines.sort(key=lambda x: x[0])
seq = [x[1] for x in lines]

counts = [seq[0]]
for i in range(1, N):
    if counts[-1] < seq[i]:
        counts.append(seq[i])
    else:
        idx = 0
        for j in range(len(counts)):
            if counts[j] < seq[i]:
                idx += 1
            else:
                counts[idx] = seq[i]
                break
print(N - len(counts))
  • ์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ๋กœ์ง์€ ์ด์ „ ๋ฌธ์ œ์™€ ๋˜‘๊ฐ™๋‹ค.
  • ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์—ฐ๊ฒฐ๋˜๋Š” ์„ ์ด ์ถœ๋ฐœ์ ์˜ ์ˆซ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด์•ผํ•œ๋‹ค.
  • ๊ฒฐ๊ณผ๋Š” ์ „์ฒด ์ „๊นƒ์ค„์—์„œ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด๋ฅผ ๋บ€ ๊ฐ’์ด๋‹ค.

๋Œ“๊ธ€