2022. 1. 5. 07:06ใ๐ฑ Algorithm/Greedy
์ ๋ต ์ฝ๋
from sys import stdin
import heapq
read = stdin.readline
N = int(read())
heap = []
result = []
for _ in range(N):
a, b = map(int, read().split())
result.append((a, b))
result = sorted(result, key=lambda x: x[0])
result = sorted(result, key=lambda x: x[1])
count, last = 0, 0
for start, end in result:
if start >= last:
count += 1
last = end
print(count)
1. ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋จผ์ ์ ๋ ฌํ๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ๋จผ์ ์์ํ๋ ๊ฐ์ ๋ถํฐ ์ ๋ ฌ๋๋ค. ๋๋๋ ์๊ฐ์ ๋ณด์ฅ๋์ง ๋ชปํ๋ค.
2. ๋๋๋ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ค์ ์ ๋ ฌํ๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ์ด๋ฏธ ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ์ด ๋ ์ํ์์, ๋ค์ ๋๋๋ ์๊ฐ์ผ๋ก ์ ๋ ฌ๋๋ค.
๋ง์ฝ ์์๋ก (4, 4) ์ (1, 4) ๊ฐ ์๋ค๋ฉด, ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋จผ์ ์ ๋ ฌ์ ํด์ผ, ๋ฌธ์ ์ ์๋๋๋ก ์ ๋ ฌํ ์ ์๊ฒ ๋๋ค.
์ค๋ต ์ฝ๋
์ํ ๊ณผ์ ์์ ๋๋ค๋ฅผ ์ด์ฉํ๋ค.
์ฒ์์๋ ๋๋ค์์ผ๋ก ์์ ์๊ฐ๊ณผ ์ข ๋ฃ ์๊ฐ์ ๋์์ ์ ๋ ฌํ๋ ค๊ณ ํ๋ค.
result = sorted(result, key=lambda x: (x[0], x[1])) # ์์ ๋ ๋ผ์ธ๊ณผ ์ด ๋ผ์ธ์ ์์ฐํ ๋ค๋ฅด๋ค.
์ ์ฝ๋์ ๋ฌธ์ ๋ ์์ ์๊ฐ๊ณผ ์ข ๋ฃ ์๊ฐ์ ๋ชจ๋ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ค๋ ์ ์ด๋ค. (์ฌ์ค ์ฒซ๋ฒ์งธ ์์๋ก๋ง ์ ๋ ฌ๋๋ค.)
from sys import stdin
import heapq
read = stdin.readline
N = int(read())
heap = []
result = []
for _ in range(N):
a, b = map(int, read().split())
result.append((a, b))
result = sorted(result, key=lambda x: (x[0], x[1])) ์์ ๋ ๋ผ์ธ๊ณผ ์ด ๋ผ์ธ์ ์์ฐํ ๋ค๋ฅด๋ค.
count, last = 0, 0
for start, end in result:
if start >= last:
count += 1
last = end
print(count)
'๐ฑ Algorithm > Greedy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 12845 ๋ชจ๋์ ๋ง๋ธ ํ์ด์ฌ (0) | 2023.01.20 |
---|---|
๋ฐฑ์ค 1455 ๋ค์ง๊ธฐ ํ์ด์ฌ (0) | 2023.01.11 |
๋ฐฑ์ค ๋ฌผ๋ณ 1052๋ฒ ํ์ด์ฌ (0) | 2022.07.18 |
๋ฐฑ์ค 1213 ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ ํ์ด์ฌ (0) | 2022.07.05 |
๋ฐฑ์ค 11000 ํ์ด์ฌ (0) | 2022.01.04 |