1seul357
[BOJ] 회의실 배정 본문
N = int(input())
list = []
count = 1
for i in range(N):
s, e = map(int, input().split()) # 회의실 시간 입력받기
list.append([e, s]) # 끝나는 시간 기준으로 정렬하기 위해 e, s 순서로 리스트에 넣기
list.sort() # 리스트 정렬
now = list[0][0] # 가장 앞 시간을 now 변수에 넣고,
for i in range(1, N): # 1부터 N까지 반복하면서 사용할 수 있는 회의 최대 개수 구하기!
if now <= list[i][1]: # 다음 회의의 시작 시간이 현재 회의의 끝난 시간보다 크다면
now = list[i][0] # now를 다음 회의의 끝나는 시간으로 바꿔주기
count += 1 # 회의 개수 + 1
print(count)
문제
- 사용할 수 있는 회의의 최대 개수를 출력
해결방법
- 끝나는 시간 기준으로 정렬
- 현재 회의의 끝나는 시간과 다음 회의의 시작 시간 비교
- now 변수 사용해서 끝나는 시간 바꿔주기
주의사항
- 반복문 쓸 때, 범위 설정을 1부터 N까지 해야 함
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ] 소수 찾기 (0) | 2022.01.23 |
---|---|
[BOJ] DFS와 BFS (0) | 2022.01.23 |
[BOJ] AC (0) | 2022.01.09 |
[BOJ] 스타트링크 (0) | 2022.01.08 |
[BOJ] 집합의 표현 (0) | 2022.01.05 |