from collections import deque
def convertor(time:str):
time = time.split(":")
return (int(time[0]) * 60) + int(time[1])
def solution(book_time):
room_time = []
for time in book_time:
start_time, end_time = convertor(time[0]), convertor(time[1]) + 10
room_time.append([start_time, end_time])
rooms = []
rooms.append([0]*(24*60+10))
room_time.sort()
for start, end in room_time:
room_assigned = False
for room in rooms:
if all(element == 0 for element in room[start:end]):
room[start:end] = [1] * (end - start)
room_assigned = True
break
if not room_assigned:
new_room = [0] * (24 * 60)
new_room[start:end] = [1] * (end - start)
rooms.append(new_room)
return len(rooms)
누적합으로 풀면 아주 쉽다 !!