Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Unreal Engine 5
- dynamic
- 문제풀이
- loop
- 프로그래밍
- python
- w3school
- UE5
- parameter
- 파이썬
- c++
- dfs
- Unity
- Material
- guide
- 재귀
- Tutorial
- W3Schools
- github
- Basic
- 백준
- C#
- 기초
- Algorithm
- 오류
- Programming
- Class
- DP
- String
- 시작해요 언리얼 2022
Archives
- Today
- Total
행복한 개구리
백준 22.03.05. 1931번 - 회의실 배정 본문
n = int(input())
mp = [list(map(int, input().split())) for i in range(n)]
mp.sort(key=lambda x: (x[1], x[0]))
end = 0
cnt = 0
for i in range(n):
if mp[i][0] >= end:
cnt += 1
end = mp[i][1]
print(cnt)
- 처음 회의를 시작하는 팀은 가장 빨리 끝나는 팀으로 지정해주어야 합니다.
- 이를 위해서 정렬을 해주어야하는데, 정렬을 두번 하는 이유는 종료시간으로만 정렬을 했을 때, 시작시간은 오름차순이 아닌 입력받은 순서대로 정렬되기 때문입니다.
▲ 종료시간으로만 정렬한 결과 // 종료시간 정렬 후 시작시간 정렬한 결과
- 그 이후로는 다른 팀들의 시작시간이 이전팀의 회의 종료시간과 같거나 더 늦어야합니다.
- 이를 통해 회의 종료시간을 갱신하며 회의를 한 팀의 수(cnt)를 1씩 늘려주면 됩니다.
'Algorithm > BaekJoon' 카테고리의 다른 글
백준 22.03.09. 1541번 - 잃어버린 괄호 (0) | 2022.03.09 |
---|---|
백준 22.03.05. 11399번 - ATM (0) | 2022.03.05 |
백준 22.03.02. 11047번 - 동전 0 (0) | 2022.03.02 |
백준 22.03.01. 12865번 - 평범한 배낭 (0) | 2022.03.01 |
백준 22.02.28. 1912번 - 연속합 (0) | 2022.02.28 |