Greedy
๋ฌธ์ ์ด๋ค.
์ด๋ฒ ๋ฌธ์ ๋ ์ด๋ ค์์ ์ ํ๋ค๊ฐ ํ ๋ฒ ๊ฑด๋ค๋ดค๋ค.
N = int(input())
time, nums = list(), list()
for _ in range(N):
time.append(list(map(int, input().split())))
time.sort(key=lambda x:x[0])
for i in range(N):
cnt, stack = 1, [time[i]]
for j in range(i+1,N):
if stack[-1][1] <= time[j][0]:
stack.append(time[j])
cnt += 1
nums.append(cnt)
print(max(nums))
์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ ์ง ๋ชฐ๋ผ์, ๋จ์ํ๊ฒ for
๋ฌธ์ผ๋ก ํ์๋ค.
ํ์ง๋ง,, ์๊ฐ์ด๊ณผ
๋ด๋ค.
์ฝ๋๋ ๋์กํ๋ค.
N = int(input())
inputArr = list()
for _ in range(N):
inputArr.append(list(map(int, input().split())))
inputArr.sort(key=lambda x:(x[1], x[0]))
end, cnt = 0, 0
for x in inputArr:
if x[0] > end:
end = x[1]
cnt += 1
print(cnt)
๋์ ํ ๋ชฐ๋ผ์ ๋ค๋ฅธ ๋ถ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
๋นจ๋ฆฌ ๋๋๋ ํ์ ์์๋๋ก ์ ๋ ฌ์ ํด์ผ ํ๋ค.
์ด์ ๋ ๊ฐ๋จํ๋ค. ๋นจ๋ฆฌ ๋๋ ์๋ก ๋ค์์ ๊ณ ๋ คํด๋ณผ ํ์๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๊ฒ์ด ์๊ณ ๋ฆฌ์ฆ์ ํต์ฌ์ด๊ณ , ์ง๊ด์ ์ผ๋ก ์ดํดํด์ผ ํ๋ค๊ณ ํ๋ค.
๋๋ ์ง๊ด์ ์ผ๋ก ์ดํด๊ฐ ๋์ง ์์, ๋ฐ๋ก๋ฅผ ์ฐพ๋ ๋ฐฉ์์ผ๋ก ์ดํดํ๋ค.
์กฐ๊ฑด : ํ์์ ์์์๊ฐ๊ณผ ๋๋๋ ์๊ฐ์ด ๊ฐ์ ์๋ ์๋ค.
inputArr.sort(key=lambda x:(x[1], x[0]))
๋ฅผ ํ ์ด์ ๋ inputArr
๋ฅผ ํ์ ์ข
๋ฃ ์๊ฐ
์ผ๋ก ํ ๋ฒ ์ ๋ ฌํ๊ณ ํ์ ์์ ์๊ฐ
์ผ๋ก ๋ค์ ํ ๋ฒ ์ ๋ ฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.