개발자 톡

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

테스트 케이스와 결과값이 같은데 오답처리 되는 이유 알려주세요ㅜㅜ

등록일
2024-02-01 15:22:36
조회수
397
작성자
stepania99
import sys
from collections import deque

n,m = map(int, sys.stdin.readline().split())
room = dict()
for _ in range(n):
    room[sys.stdin.readline().rstrip()] = []
for _ in range(m):
    name, start, end = sys.stdin.readline().split()
    room[name].append([int(start), int(end)])

# room의 각 리스트를 start를 기준으로 오름차순 정렬
for key in room.keys():
    room[key] = sorted(room[key], key=lambda x: x[0])

sort_dict = dict(sorted(room.items()))
idx = 0
for i in sort_dict.keys():
    print('Room', i+':')
    res = []
    que = deque((18, 9))
    for j in range(len(sort_dict[i])):
        if len(que) > 0:
            a = que.pop()
            if a < sort_dict[i][j][0]:
                res.append([a, sort_dict[i][j][0]])
                que.append(sort_dict[i][j][1])
            else:
                que.append(sort_dict[i][j][1])
    for k in range(len(que)):
        a = que.pop()
        if a < 18:
            res.append([a, 18])
    # print('res', res)
    if len(res) == 0:
        print('Not available')
    else:
        print(len(res), 'available')
        for r in res:
            print(str(r[0]).zfill(2)+'-'+str(r[1]))
    idx += 1
    if idx < len(sort_dict):
        print('-----')

            



출력형태에서 잘못된 부분이 있는건가요?? 아니라면 반례부탁드립니다ㅜㅜ

#[21년_재직자_대회_예선]_회의실_예약

이 카테고리의 톡 더보기