📜 접근 방법
회의실 배정과 같은 문제는 그리디 알고리즘으로 푼다
종료시간이 빠른 기준으로 우선순위를 잡는다.
- 시작 시간과 종료 시간을 받아 리스트에 넣는다.
- 우선순위는 첫번째로 종료시간이 빠르고, 두번째론 시작시간이 빠른 순으로 정렬한다.
- events를 돌면서 시작 시간 보다 종료 시간이 적을 경우 cnt + 1 해주고 종료 시간을 변경해준다.
❌ 실패 코드
✅ 정답 코드
import sys
input = sys.stdin.readline
n = int(input())
events = []
for _ in range(n):
s, e = map(int, input().split())
events.append([s, e])
events.sort(key = lambda x : (x[1], x[0]))
cnt = end = 0
for s, e in events:
if s > end:
cnt += 1
end = e
print(cnt)
💡알게 된점
'코딩테스트 > Python' 카테고리의 다른 글
[python 구름] 보드 게임 (0) | 2023.05.22 |
---|---|
[python 구름] 피보나치 수 (0) | 2023.05.21 |
[python 구름] 직사각형 만들기 (0) | 2023.05.19 |
[python 구름] 거스름돈 (0) | 2023.05.17 |
[python 구름] 1차원 뿌요뿌요 (0) | 2023.05.16 |