문제 설명
고객 서비스 센터에 여러 고객이 각기 다른 시각에 도착해 상담을 요청합니다. 고객 서비스 센터에는 m 명의 상담사가 있으며 모든 상담사는 상담 중인 고객이 없다면 그 즉시 대기 중인 고객 중 가장 먼저 도착한 고객을 우선으로 상담을 시작합니다. 고객이 상담을 요청했을 때 이미 모든 상담사가 상담 중이라면 대기하고, 그렇지 않다면 도착 즉시 상담이 시작됩니다.
서비스 센터의 상담사 수 m과 상담을 요청하는 고객별 [도착 시각, 상담 소요 시간] 정보를 담은 이차원 배열 requests가 주어질 때, 모든 고객의 상담이 종료되는 시각을 반환하는 solution 함수를 작성하시오.
제한 사항
m은 1 이상 20 이하의 자연수입니다.requests의 길이는 1 이상 100,000 이하입니다.requests의 원소는[도착 시각, 상담 소요 시간]로 이루어져 있습니다.- 모든 고객의 도착 시각은 0 이상 1,000,000 이하의 음이 아닌 정수입니다.
- 동시에 도착하는 고객이 존재하는 경우는 입력으로 주어지지 않습니다.
- 상담 소요 시간은 1 이상 5,000 이하의 자연수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | M | requests | return |
|---|---|---|---|
| 1 | 2 | [[0,5],[2,3],[1,4],[6,2]] | 8 |
| 2 | 3 | [[0,7],[5,3]] | 8 |
| 3 | 1 | [[12,2],[2,10],[11,2],[15,1]] | 17 |
1번 테스트케이스 설명
-
총 4명의 고객이 상담을 요청하며 각각 A(0,5), B(2,3), C(1,4), D(6,2) 으로 지정합니다.
-
고객 서비스 센터의 시각에 따른 상담 상황은 다음과 같습니다.
시각 상담사 1 상담사 2 대기 중인 고객 상담 완료 고객 0 A(0,5) 1 A(0,5) C(1,4) 2 A(0,5) C(1,4) B(2,3) 5 B(2,3) A,C 6 B(2,3) D(6,2) A,C 8 A,B,C,D -
따라서 모든 고객의 상담이 종료되는 시각
8을 반환합니다.
2번 테스트케이스 설명
-
총 2명의 고객이 상담을 요청하며 각각 A(0,7), B(5,3)으로 지정합니다.
-
3명의 상담사가 있어, 빈 상담사가 생기면 즉시 가장 먼저 도착한 대기 고객을 배정합니다.
-
고객 서비스 센터의 시각에 따른 상담 상황은 다음과 같습니다.
시각 상담사 1 상담사 2 상담사 3 대기 중인 고객 상담 완료 고객 0 A(0,7) 5 A(0,7) B(5,3) 7 B(5,3) A 8 A,B -
따라서 모든 고객의 상담이 종료되는 시각
8을 반환합니다.
3번 테스트케이스 설명
-
총 4명의 고객이 상담을 요청하며 각각 A(12,2), B(2,10), C(11,2), D(15,1)로 지정합니다.
(도착 시각 기준으로 정렬하여 표기) -
상담사는 1명뿐이므로, 상담 중이면 이후 도착 고객은 순서대로 대기합니다.
-
고객 서비스 센터의 시각에 따른 상담 상황은 다음과 같습니다.
시각 상담사 1 대기 중인 고객 상담 완료 고객 2 B(2,10) 11 B(2,10) C(11,2) 12 C(11,2) A(12,2) B 14 A(12,2) B,C 15 A(12,2) D(15,1) B,C 16 D(15,1) A,B,C 17 A,B,C,D -
따라서 모든 고객의 상담이 종료되는 시각
17을 반환합니다.