728x90
반응형
문제출처:
풀이:
def solution(book_time):
time = [0 for i in range(60*24)]
for i in book_time:
start, end = i
start_left, start_right = int(start[:2]),int(start[3:])
end_left, end_right = int(end[:2]),int(end[3:])
left = start_left * 60 + start_right
right = end_left * 60 + end_right
for i in range(left,right):
time[i] += 1
return max(time)
몇개 더 틀림
중복되는 시간만큼은 무조건 필요하므로 그 갯수가 최댓값이라고 생각했다.
청소시간 10분은 생각하지 못했다.
def solution(book_time):
time = [0 for i in range(60*24)]
for start,end in book_time:
start = 60 * int(start[:2]) + int(start[3:])
end = 60 * int(end[:2]) + int(end[3:]) + 10
if end > 1439:
end = 1439
for i in range(start,end):
time[i] += 1
return max(time)
분 단위로 계산하기 위해 start 와 end 로 나눔
end 에 청소시간 10분까지 넣어준다.
23시59분까지니깐 넘어가면 1439로 해준다.
최댓값 리턴
반응형
댓글