[프로그래머스] 셔틀 버스

박형진·2022년 1월 11일
0

https://programmers.co.kr/learn/courses/30/lessons/17678


1. 전체 코드

import re
from collections import deque


def solution(n, t, m, timetable):
    for idx, i in enumerate(timetable):
        h, mi = re.split('[^\w]', i)
        time = int(h) * 60 + int(mi)
        timetable[idx] = time
    timetable.sort()
    q = deque(timetable)
    waiting = deque()
    for i in range(540, 540 + n * t, t):
        while q and q[0] <= i:
            waiting.append(q.popleft())
        if i == (540 + n * t) - t:
            last = list(waiting)[:]
            last_time = i
        for _ in range(m):
            if waiting:
                waiting.popleft()
    if len(last) < m:
        ans = last_time
    else:
        last.sort()
        ans = last[m-1]-1
    hour = ans // 60
    minute = ans - (hour * 60)
    return str(hour).zfill(2) + ':' + str(minute).zfill(2)
profile
안녕하세요!

0개의 댓글