def solution(n, t, m, timetable):

몇번째 버스를 언제 타야하냐가 빠를듯?

운행 시간정보 담은 리스트 만들고

리스트 순회하며 타임테이블 비교해가며 최대 m번만큼 pop

마지막 리스트로 순회할때 m번만큼 pop이 이뤄지면 마지막 pop된 친구보다 1분 더 이른시간 리턴

m번 미만 pop이 이뤄지면 해당 리스트값 리턴

timetable = [int(tt.split(":")[0]) * 60 + int(tt.split(":")[1]) for tt in timetable] timetable.sort() bus = [540 + t*i for i in range(n)] lists = [] for b in bus: cnt = 0 flag = 0 for t in timetable: if t <= b and cnt < m: lists.append(timetable.pop(0)) cnt += 1 else: break ; if cnt == m: flag = 1

if flag == 1:
    time = lists[-1] - 1
else:
    time = bus[-1]
return '%02d:%02d' % (time // 60, time % 60)