https://school.programmers.co.kr/learn/courses/30/lessons/155651
생각하다
고객이 사용하는 객실 수가 다음과 같을 때 필요한 최소 객실 수를 반납해야 합니다.
단, 사용 중인 방은 10분 동안 청소해야 합니다.
전체 이용자의 이용 시간을 최소 단위(분)로 나누고 해당 시간(분)마다 +1을 더하면 마지막에 표시되는 숫자가 해당 기간 동안 중복된 고객의 수입니다.
가장 겹치는돌아오면 그 때 이용했던 최대 고객 수이므로 이것이 정답이다.
단순히 단어를 번역하기는 어렵지만 간단히 말해서 누적 합계입니다.
(접두사 합계)찾으면됩니다.
.
한 가지 주의할 점은 고객이 사용하는 방은 10분 동안 청소해야 하므로 이를 고려하십시오. 이용 시간은 고객이 호텔 이용을 마친 시간 + 최대 10분을 포함합니다.
해야한다.
해결 – 누적 총계
import java.util.*;
class Solution {
private int arr();
public int solution(String()() book_time) {
int answer = 0;
arr = new int(24*60);
for(int i = 0; i<book_time.length; i++){
int startTime = convertToMinute(book_time(i)(0));
int endTime = convertToMinute(book_time(i)(1));
for(int j = startTime; j<(endTime + 10 < 24*60 ? endTime + 10 : 24 * 60); j++){
arr(j)++;
}
}
for(int i = 0; i<24*60; i++){
answer = Math.max(answer, arr(i));
}
return answer;
}
private int convertToMinute(String time){
StringTokenizer st = new StringTokenizer(time, ":");
int hour = Integer.parseInt(st.nextToken()) * 60;
int minute = Integer.parseInt(st.nextToken());
return hour + minute;
}
}