코딩테스트 파이썬/Softeer
Softeer 연습문제(2단계) - 회의실 예약
세용용용용
2024. 6. 26. 21:21
Candidate | Softeer Assessment UI
Candidate | Softeer Assessment UI
softeer.ai
나의 코드
import sys
input = sys.stdin.readline
room_n, room_ava = list(map(int, input().split()))
room_info = {}
for _ in range(room_n):
room_name = input().split()[0]
room_info[room_name]=[]
for _ in range(room_ava):
now_room, now_start, now_end = list(input().split())
now_start = int(now_start)
now_end = int(now_end)
room_info[now_room].append([now_start, now_end])
room_info = sorted(room_info.items(), key=lambda x:x[0])
ckckck=0
for room in room_info:
ckckck+=1
now_room, room_ava_info = room
room_ava_info = sorted(room_ava_info, key=lambda x:x[0])
can_ava = []
if not room_ava_info:
can_ava.append('09-18')
else:
if room_ava_info[0][0]>9:
can_ava.append(f'09-{room_ava_info[0][0]}')
for now_index in range(len(room_ava_info)-1):
if room_ava_info[now_index+1][0]-room_ava_info[now_index][1]>0:
can_ava.append(f'{room_ava_info[now_index][1]}-{room_ava_info[now_index+1][0]}')
if room_ava_info[-1][-1]<18:
can_ava.append(f'{room_ava_info[-1][-1]}-18')
print(f'Room {now_room}:')
if len(can_ava)==0:
print(f'Not available')
else:
print(f'{len(can_ava)} available:')
for now_can_ava in can_ava:
print(now_can_ava)
if ckckck!=room_n:
print('-----')