개발자 톡

연습문제 톡 [21년 재직자 대회 예선] 회의실 예약

회의실 예약 반례 부탁드립니다!

등록일
2023-05-21 14:03:58
조회수
474
작성자
gns453

n, m = map(int,input().split())

N=[] ; M=[]
time=[]

for i in range(n):
N.append(input())
time.append([1,1,1,1,1,1,1,1,1])

for i in range(m):
M.append(input().split())
N.sort()
for i in range(n):
for j in range(m):
if(M[j][0]==N[i]):
time[i][(int(M[j][1])-9):(int(M[j][2])-9)]=[0]*((int(M[j][2])-9)-(int(M[j][1])-9))
print(time)
def possible(arr):
output=[]
start=None
for i in range(len(arr)):
if arr[i]==1: #리스트가 1이면 시작시간을 정한다
if start is None:
start=f"{i+9:02d}"
else: #리스트가 0인데 시작시간이있으면
if start is not None:
end=i+9
output.append(f"{start}-{end}")
start=None
if start is not None:
end = len(arr) + 9
output.append(f"{start}-{end} ")

return "\n".join(output)

for i in range(n):
print("Room %s:"%N[i])



if all(v==0 for v in time[i]):
print("Not available")
print("-----")
else:
print(f"{possible(time[i]).count('-')} available:")
print(f"{possible(time[i])}")
if(i!=(n-1)):
print("-----")
#[21년_재직자_대회_예선]_회의실_예약
#회의실_예약

이 카테고리의 톡 더보기