728x90
반응형
https://www.acmicpc.net/problem/1931
최대한 방을 사용할 수 있게 정렬하는 문제
일단 끝나는 순으로 정렬을 한다.
그 이유는 아무리 일찍하더라도 죽치고 사용하면 배정할때 후순위로 밀리기 때문에 일단 가장 일찍 끝나는 순으로 정렬을 한다.
그 후 순서대로 비교하면서 끝나는 시간과 그 다음 타임의 시작하는 시간이 같거나 크면 사용이 가능하므로 tmp라는 빈공간을 생성해 그 값을 계속 저장하면서 갯수를 증가시켜준다. 그러면 최대한 많이 사용하는 경우의 수가 나오게 된다.
n = int(input())
arr = []
for i in range(n):
start , end= map(int , input().split())
arr.append((start, end))
arr.sort(key=lambda x: (x[1], x[0]))
tmp = 0
cnt = 0
for start, end in arr:
if tmp <= start:
tmp = end
cnt+=1
print(cnt)
완성
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준] 5014번: 스타트링크- python (0) | 2024.03.28 |
---|---|
[백준] 1541번: 잃어버린 괄호 - python (1) | 2024.03.27 |
[백준] 9657번: 돌 게임 3 - python (0) | 2024.03.27 |
[백준] 2583번: 영역 구하기 - python (0) | 2024.03.27 |
[백준] 7562번: 나이트의 이동 - python (0) | 2024.03.27 |