ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [1차] 셔틀버스
    코딩 테스트/Level 3 2020. 10. 6. 16:54
    반응형

    [1차] 셔틀버스
    2018 KAKAO BLIND RECRUITMENT 
    1350명 완료

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

     

    코딩테스트 연습 - [1차] 셔틀버스

    10 60 45 [23:59,23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59, 23:59] 18:00

    programmers.co.kr

    상황 시뮬레이션.

    일단 버스에 라이언을 제외한 승객들을 조건에 맞춰서 태운 뒤. 

    마지막 버스가 만차이면 마지막 탑승객보다 1초 당겨서 도착. 
    만차가 아니면 마지막 버스 출발시간에 도착. 

    def solution(n, t, m, table):
        table = sorted([int(time[:2]) * 60 + int(time[3:]) for time in table], reverse=True)
        busses = {}
        for i in range(540, 540 + n * t, t):
            seats = m  # 남은 좌석수
            busses[i] = []
            while seats > 0 and table and table[-1] <= i:
                busses[i].append(table.pop())
                seats -= 1
        end_bus = list(busses)[-1]  # list(sorted(busses))[-1]
        if m == len(busses[end_bus]):  # 버스가 가득찼다면
            answer = busses[end_bus][-1] - 1
        else:  # 버스가 가득차지 않았다면
            answer = end_bus
        return f"{answer // 60:02}:{answer % 60:02}"

    최신 버전의 파이썬은 딕셔너리의 (생성) 순서가 유지됩니다. 
    그렇지 않은 버전을 사용하신 다면 sorted가 필요합니다. 

    테스트 1 〉	통과 (0.07ms, 10.9MB)
    테스트 2 〉	통과 (0.07ms, 10.9MB)
    테스트 3 〉	통과 (0.07ms, 10.9MB)
    테스트 4 〉	통과 (0.08ms, 10.9MB)
    테스트 5 〉	통과 (0.09ms, 10.9MB)
    테스트 6 〉	통과 (0.06ms, 10.9MB)
    테스트 7 〉	통과 (0.39ms, 10.9MB)
    테스트 8 〉	통과 (0.08ms, 11MB)
    테스트 9 〉	통과 (0.07ms, 10.8MB)
    테스트 10 〉	통과 (0.07ms, 10.9MB)
    테스트 11 〉	통과 (0.08ms, 10.9MB)
    테스트 12 〉	통과 (0.35ms, 10.9MB)
    테스트 13 〉	통과 (0.35ms, 10.9MB)
    테스트 14 〉	통과 (0.10ms, 10.9MB)
    테스트 15 〉	통과 (0.13ms, 10.9MB)
    테스트 16 〉	통과 (0.22ms, 10.9MB)
    테스트 17 〉	통과 (0.36ms, 10.9MB)
    테스트 18 〉	통과 (0.30ms, 10.9MB)
    테스트 19 〉	통과 (0.33ms, 10.9MB)
    테스트 20 〉	통과 (0.32ms, 10.9MB)
    테스트 21 〉	통과 (0.34ms, 10.9MB)
    테스트 22 〉	통과 (0.97ms, 11.1MB)
    테스트 23 〉	통과 (1.01ms, 11.2MB)
    테스트 24 〉	통과 (0.40ms, 10.9MB)
    반응형
Designed by Tistory.