Algorithm Problem/Python

[python] λ°±μ€€ - 19598. μ΅œμ†Œ νšŒμ˜μ‹€ 개수

deo2kim 2021. 9. 9. 19:16
λ°˜μ‘ν˜•

πŸ€”λ¬Έμ œ ν•΄κ²°

  • μš°μ„ μˆœμœ„ν

 

  • 회의λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•œλ‹€.
  • μ‚¬μš©ν•œ νšŒμ˜μ‹€μ˜ λλ‚˜λŠ” μ‹œκ°μ„ λ°°μ—΄λ‘œ λ§Œλ“ λ‹€. μš°μ„ μˆœμœ„νλ‘œ μ‚¬μš©ν•  것
  • 회의λ₯Ό ν•˜λ‚˜μ”© κΊΌλ‚΄μ„œ
    • κ°€μž₯ 빨리 λλ‚˜λŠ” νšŒμ˜μ‹€κ³Ό 회의 μ‹œμž‘ μ‹œκ°„μ„ 비ꡐ
    • 회의 μ‹œμž‘ μ‹œκ°„μ΄ 더 λΉ λ₯΄λ©΄ νšŒμ˜μ‹€ μΆ”κ°€
    • 회의 μ‹œμž‘ μ‹œκ°„μ΄ 더 늦으면 ν•΄λ‹Ή νšŒμ˜μ‹€μ˜ λλ‚˜λŠ” μ‹œκ° μ—…λ°μ΄νŠΈ

 

🍞 heapreplaceλŠ” κ°€μž₯ μž‘μ€ μš”μ†Œλ₯Ό λΉΌκ³ , μΆ”κ°€ν•  μš”μ†Œλ₯Ό 집어 λ„£λŠ”λ‹€. ( pop ν›„ push λ₯Ό ν•©μΉœκ²ƒ - 더 λΉ λ₯΄λ‹€κ³  ν•œλ‹€.)

 

πŸ’»μ†ŒμŠ€ μ½”λ“œ

 import sys
import heapq

input = sys.stdin.readline

N = int(input())
meetings = [list(map(int, input().split())) for _ in range(N)]

meetings.sort()

meeting_rooms = [meetings[0][1]]
for meeting in meetings[1:]:
    if meeting_rooms[0] > meeting[0]:  # νšŒμ˜μ‹€ 회의 λλ‚˜λŠ” μ‹œκ°μ΄ λŒ€κΈ°μ€‘μΈ λ―ΈνŒ… μ‹œκ°λ³΄λ‹€ 늦으면
        heapq.heappush(meeting_rooms, meeting[1])
    else:
        heapq.heapreplace(meeting_rooms, meeting[1])

print(len(meeting_rooms))

 

πŸ“•λ¬Έμ œ 확인

좜처: BACKJOON ONLINE JUDGE

 

 

λ°˜μ‘ν˜•