๋ฐ์ํ
๐ฑ ๋ฌธ์
๐ฑ ํ์ด
์ฐ์ ์์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํ์ฌ ํธ๋ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ์ ๋๋ค.
1. ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ
class_times = [list(map(int, input().split())) for _ in range(n)]
class_times.sort(key = lambda x: x[0])
- ์ฐ์ ์์ ํ์ ์ฝ์ ํ๊ธฐ ์ด์ ์ ์ฐ์ , ์ ๋ ฅ ๋ฐ์ ๊ฐ์ ์๊ฐ์ ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ผ ํฉ๋๋ค.
- ๊ทธ ์ด์ ๋ ์๋ ์์๋ฅผ ํตํด์ ์ค๋ช
ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
- ์๋์์ ์ ๋ ฌ ์์ด ํ์ ์ฝ์ ํ ๊ฒฝ์ฐ, ์ฒซ ๋ฒ์งธ ๊ฐ์์ค์ ๋๋๋ ์๊ฐ์ด 8๋ก ํ์ ์ฝ์ ๋๋ฉฐ, 2-5 ๊ฐ์๋ ์ฒซ ๋ฒ์งธ ๊ฐ์์ค์ ์ฝ์ ๋ ์ ์์ต๋๋ค.
- ๋ฐ๋ผ์ ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ์ ํ ํ์ ์์ ์ฝ์ ๋ ๊ฐ์์ ๋๋๋ ์๊ฐ๋ณด๋ค ํ์ฌ ์ฝ์ ํ ๊ฐ์์ ์์ ์๊ฐ์ด ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ฉด ๋ฌด์กฐ๊ฑด ์์ ๊ฐ์๋ฅผ ๋นผ๋ด๊ณ ํ์ฌ ๊ฐ์๋ฅผ ์ฝ์ ํ์ฌ ๊ฐ์๋ฅผ ์ด์ด๋๊ฐ๋๋ค.
2. ๊ฐ์์ค ๊ฐ์ ๊ณ์ฐํ๊ธฐ
queue = []
for time in class_times:
if queue and queue[0] <= time[0]:
heapq.heappop(queue)
heapq.heappush(queue, time[1])
queue
์๋ ๊ฐ์๊ฐ ๋๋๋ ์๊ฐ์ ๋ฃ์ผ๋ฉฐ ์ฐ์ ์์ ํ๋ก ๋ง๋ค์ด์ ํญ์ ๊ฐ์ฅ ๋นจ๋ฆฌ ๋๋๋ ๊ฐ์์๊ฐ์ด ๋งจ ์์ชฝ์ ์์ ์ ์๋๋ก ํฉ๋๋ค.- ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ ์์๋๋ก ๊ฐ์ ์๊ฐ์ ๋ณด๋ฉด์ ๊ฐ์ ์์์๊ฐ์ด ํ์ฌ ํ์ ์ฒซ๋ฒ์งธ ์์์ ๊ฐ(
queue[0]
)๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด ๊ฐ์์ค์ ๋ ๋ฐฐ์ ๋ฐ์ง ์๊ณ ํด๋น ๊ฐ์์ค์์ ๊ฐ์๋ฅผ ์งํํ ์ ์๋ค๋ ์๋ฏธ์ด๋ฏ๋ก ํ์ ์ฒซ๋ฒ์งธ ์์๋ฅผ popํ๊ณ ๊ฐ์๊ฐ ๋๋๋ ์๊ฐ(time[1]
)์ pushํฉ๋๋ค.
3. ์ ๋ต์ถ๋ ฅ
print(len(queue))
- queue๋ ๊ฐ ๊ฐ์์ค์์ ์งํ๋ ๋ง์ง๋ง ๊ฐ์์ ๋๋๋ ์๊ฐ๋ค์ ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ ๊ธธ์ด๊ฐ ์ ์ฒด ๊ฐ์์ค์ ๊ฐ์๊ฐ ๋ฉ๋๋ค.
๐ฑ ์ฝ๋
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# boj 11000 ๊ฐ์์ค ๋ฐฐ์
import sys
import heapq
input = sys.stdin.readline
n = int(input().rstrip())
class_times = [list(map(int, input().split())) for _ in range(n)]
class_times.sort(key = lambda x: x[0])
queue = []
for time in class_times:
# queue[0]: ํ์ฌ ์งํ ์ค์ธ ๊ฐ์ ์ค์ ๊ฐ์ฅ ๋นจ๋ฆฌ ๋๋๋ ๊ฐ์ ์๊ฐ
if queue and queue[0] <= time[0]:
heapq.heappop(queue)
heapq.heappush(queue, time[1])
print(len(queue))
๋ฐ์ํ
'Algorithm > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] #5430 AC (Python, Deque, ์๊ฐ ์ด๊ณผ ํด๊ฒฐ) (0) | 2024.07.13 |
---|---|
[BOJ] #2437 ์ ์ธ (Python, Greedy) (0) | 2023.03.19 |
[BOJ] #16724 ํผ๋ฆฌ ๋ถ๋ ์ฌ๋์ด (0) | 2023.03.14 |
[BOJ] #1027 ๊ณ ์ธต ๊ฑด๋ฌผ(Bruteforce, Python) (0) | 2023.02.28 |
[BOJ] #1450 ๋ ์๋ฌธ์ (์ด๋ถ ํ์, Python) (0) | 2023.02.27 |
๋๊ธ