그리디 알고리즘을 이용한 문제
# 회의실 배정
# 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자.
# 첫째 줄에 회의의 수 N, 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어진다. 이는 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다.
# 첫째 줄에 최대 사용할 수 있는 회의의 최대 개수를 출력한다.
n = int(input())
A = [[0, 0] for _ in range(n)]
for i in range(n):
S, E = map(int, input().split())
A[i][0] = E # 종료시간을 기점으로 정렬해야 하기 때문에 앞에 저장
A[i][1] = S
A.sort()
cnt = 0
end = -1
for i in range(n):
if A[i][1] >= end:
cnt += 1
end = A[i][0]
print(cnt)
'Code > Python' 카테고리의 다른 글
[Python] 백준 1929번 소수구하기 (0) | 2023.10.24 |
---|---|
[Python] 백준 1541번 잃어버린 괄호 (0) | 2023.10.23 |
[Python] 백준 1744번 수 묶기 (1) | 2023.10.08 |
[Python] 백준 1715번 카드 정렬하기 (0) | 2023.10.08 |
[Python] 백준 11047번 동전 0 (0) | 2023.10.07 |