Programmers. Hotel rent
호텔 대실
- practice problem
- 정답률: 46%
- 2023.09.05
- 10:10 ~ 11:40 (90 min)
- 후기: deque를 이용해 겹치지 않는 시간을 고려해 문제를 해결함. 풀이 중간에 deque의 시간 정렬을 하지 않고, 풀이를 하다 시간이 다소 오래걸렸다.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from collections import deque
def solution(book_time):
answer = 0
book_time.sort(key= lambda x:x[0])
room_time = []
room_list = []
cnt = 0
for idx, i in enumerate(book_time):
room_time = []
start, end = i
start = start.split(':')
end = end.split(':')
start = int(start[0])*60 + int(start[1])
end = int(end[0])*60 + int(end[1])
room_time.append(start)
room_time.append(end)
room_list.append(room_time)
if idx==0:
dq = deque([[start,end]])
else:
while dq:
start_ch, end_ch = dq.popleft()
if end_ch + 10 <= start:
dq.append([start,end])
dq = deque(sorted(dq,key= lambda x:x[1]))
break
else:
dq.append([start_ch,end_ch])
dq.append([start,end])
dq = deque(sorted(dq,key= lambda x:x[1]))
break
answer = len(dq)
return answer
This post is licensed under CC BY 4.0 by the author.