알고리즘 문제풀이

백준 1931 회의실 배정 Python 그리디 실버 1

아크몽 2024. 4. 4. 23:43

틀렸던 이유

1. while True문으로 한 칸씩 더해나가면서 해결하려 했음

=> 시간 오류로 20%

 

2. sort를 끝나는 시간만 하는게 아닌 시작하는 시간에도 적용해야함: 85% 오류

반례 모음 https://www.acmicpc.net/board/view/122182

import sys
input = sys.stdin.readline
# 1931 회의실 배정 실버 1
n = int(input())
arr = []
for _ in range(n):
    arr.append(list(map(int,input().split())))
arr.sort(key=lambda x : (x[1], x[0]))
# arr.sort(key=lambda x : x[1])
print(arr)
cnt = 0
prevEnd = 0
for s,e in arr:
    if prevEnd <= s:
        cnt += 1
        prevEnd = e
print(cnt)