조건 : ' 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자'
sort와 lambda식을 이용하여 회의가 끝나는 시간을 기준으로 오름차순으로 정렬 후
회의 시작시간을 기준으로 오름차순으로 정렬하였다.
import sys
input = sys.stdin.readline
그리고 위의 코드가 없다면 시간이 4000ms 이상 나오므로 주의하자.
import sys
input = sys.stdin.readline
N = int(input())
arr = [list(map(int,input().split())) for _ in range(N)]
arr.sort(key = lambda x:(x[1], x[0]))
cnt = 0
last = -1
for i in arr:
if i[0] >= last:
cnt += 1
last = i[1]
print(cnt)
Feedback
sort 응용에 애를 먹은 문제이다.
조건을 보고 정렬을 해야하는지 판단하는 능력이 더 필요할듯 하다.