얼렁뚱땅 백준 문제풀이
[백준 문제풀이] 얼렁뚱땅 19598 최소 회의실 개수 풀이
MOSTAR
2022. 10. 6. 22:44
https://www.acmicpc.net/problem/19598
19598번: 최소 회의실 개수
2개 회의실로 3개 회의를 모두 진행할 수 있다. 예를 들어, 첫번째 회의실에서 첫번째 회의를 진행하고 두번째 회의실에서 두번째 회의와 세번째 회의를 진행하면 된다. 1개 회의실로 3개 회의
www.acmicpc.net
# pypy에서만 통과
- heapq을 썻지만 안쓰고 sort한거랑 똑같이 사용함ㅎ
- 아직 안익숙해서 그렁가봉가 .... 갱차나.. 언젠간 ... 잘 하겠지 ..
import heapq
import sys
n = int(sys.stdin.readline())
arr = []
for i in range(n) :
start, end = map(int,sys.stdin.readline().strip().split())
heapq.heappush(arr,(start,end))
count = 0
start, end = heapq.heappop(arr)
hey = [end]
while arr :
start, end = heapq.heappop(arr)
for i in range(len(hey)) :
if hey[i] <= start :
hey[i] = end
break
elif i == len(hey)-1 and hey[i] > start :
hey.append(end)
print(len(hey))
# python 도 가능 !
- 이게 진ㅉ ㅏ.. heapq를 쓴 크흠 .. 다른 코드 참고해땨
- 연습하게씀 댜 .....
import sys
import heapq
n = int(sys.stdin.readline())
meeting = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(n)]
meeting.sort()
arr = []
for i in range(len(meeting )):
if arr and arr[0] <= meeting[i][0] :
heapq.heappop(arr)
heapq.heappush(arr, meeting[i][1])
print(len(arr))