본문 바로가기
알고리즘

[softeer] 회의실 예약

by 혜 림 2022. 6. 27.

[문제]

 

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

 

Softeer

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

softeer.ai

 

[생각거리]

 

[코드]

 

import sys
n, m = list(map(int, input().split()))
room_name = {}
available = {}

for i in range(n):
    room = input()
    room_name[room] = []

for i in range(m):
    room, start, end = input().split()
    room_name[room].append((int(start), int(end)))

for room in room_name.keys():
    end = 9
    available[room] = []
    room_name[room].sort(key = lambda x: x[0])
    for time in room_name[room]:
        if time[0] > end :
            available[room].append(f'{end:02}-{time[0]:02}')
            end = time[1]
        elif time[0] == end:
            end = time[1]
    if end < 18:
        available[room].append(f'{end:02}-18')

room_list = list(room_name.keys())
room_list.sort()

for room in room_list:
    print(f"Room {room}:")
    if len(available[room]) == 0:
        print("Not available")
    else: print(f"{len(available[room])} available:")
    for i in available[room]:
        print(i)
    if room != room_list[-1] :
        print("-----")

'알고리즘' 카테고리의 다른 글

[카카오]실패율  (0) 2022.08.07
[softeer] GBC  (0) 2022.06.27
[softeer] 플레이페어 암호  (0) 2022.06.27
[그리디 알고리즘] 백준 11399번 ATM  (0) 2022.06.25
[그리디 알고리즘] 백준 2217번 로프  (0) 2022.06.25

댓글