본문 바로가기
코딩테스트 연습

[Softeer] 회의실 예약

by eddypark 2023. 9. 21.

https://softeer.ai/practice/info.do?idx=1&eid=626&sw_prbl_sbms_sn=135257

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

import sys

n, m = map(int, input().split())
room = {}
for i in range(n):
    room_name = input()
    room[room_name] = [0] * 18 + [1] #마지막 1은 18시 출력을 위해 추가 

for i in range(m):
    r, s, t = input().split()
    s = int(s)
    t = int(t)
    for j in range(s, t):
        room[r][j] = 1
room = sorted(room.items())

for i in range(n):
    current = 1
    temp = []
    for j in range(9, 19):
        if current == 1 and room[i][1][j] == 0:
            sTime = j
            current = 0
        elif current == 0 and room[i][1][j] == 1:
            eTime = j
            current = 1
            temp.append([sTime, eTime])
    print(f"Room {room[i][0]}:")
    if len(temp) == 0 :
        print("Not available")
    else :
        print(len(temp),"available:")
    for j in range(len(temp)):
        print(f"{temp[j][0]:02d}-{temp[j][1]}") # 2자리로 나오게하려면 :02d
    if i != n-1:
        print("-----")