๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๋ฐฑ์ค€ 1931๋ฒˆ - ํšŒ์˜์‹ค ๋ฐฐ์ •

Dbswnstjd 2022. 2. 14. 18:29

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

 

1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ •

(1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

www.acmicpc.net

๋ฌธ์ œ ํ’€์ด

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

# ๋ฐฑ์ค€ 1931๋ฒˆ ๋ฌธ์ œ - ํšŒ์˜์‹ค ๋ฐฐ์ •
import sys
N = int(input())
time = []

for _ in range(N):
  start, end = map(int, input().split())
  time.append([start, end])

time = sorted(time, key=lambda a: a[0]) # ์‹œ์ž‘ ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ
time = sorted(time, key=lambda a: a[1]) # ๋๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๋‹ค์‹œ ์˜ค๋ฆ„์ฐจ์ˆœ

last = 0 # ํšŒ์˜์˜ ๋งˆ์ง€๋ง‰ ์‹œ๊ฐ„์„ ์ €์žฅํ•  ๋ณ€์ˆ˜
conut = 0 # ํšŒ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜

for i, j in time:
  if i >= last: # ์‹œ์ž‘์‹œ๊ฐ„์ด ํšŒ์˜์˜ ๋งˆ์ง€๋ง‰ ์‹œ๊ฐ„๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„๊ฒฝ์šฐ
    conut += 1
    last = j

print(conut)