https://www.acmicpc.net/problem/1931
# 2023.01.04
import sys
input = sys.stdin.readline
n = int(input())
time = [list(map(int, input().split())) for _ in range(n)]
time.sort(key=lambda x: (x[1], x[0]))
# print(time)
endtime = time[0][1] # 회의가 끝나는 시간
index=1
for i in range(1, n):
if endtime <= time[i][0]:
endtime = time[i][1]
index+=1
print(index)
회의가 끝나는 시간이 가장 작은 순서가 가장 중요!
time.sort(key lambda x: (x[1], x[0]))을 사용하여 회의가 끝나는 시간이 작은 애들을 우선으로 정렬 후, 회의가 시작하는 시간이 작은 순서대로 정렬
endtime이라는 변수에 회의가 끝나는 시간을 저장 후, 순차적으로 회의가 시작하는 시간과 비교하여 회의 일정에 넣을 수 있으면 index+=1을 해준다
'Problem Solving > BOJ' 카테고리의 다른 글
[Sweeping] 2170 선긋기 (0) | 2023.01.04 |
---|---|
[DP] 12865 평범한 배낭 (0) | 2023.01.04 |
[DP] 1912 연속합 (0) | 2023.01.04 |
[Stack] 1874 스택 수열 (0) | 2023.01.03 |
[Stack] 4949 균형잡힌 세상 (0) | 2023.01.03 |