코딩 테스트/Level 4

동굴 탐험

컴닥 2022. 12. 10. 13:53
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/67260

def solution(n, path, order):
    from collections import deque
    tree = {}
    for a, b in path:
        tree.setdefault(a, set())
        tree.setdefault(b, set())
        tree[a].add(b)
        tree[b].add(a)
    orders = {b: a for a, b in order}  # '도착: 출발' 로 순서 바꿈
    queue = deque([0])
    visited = set()
    yet = {}
    while queue:
        node = queue.popleft()
        if node in orders and orders[node] not in visited:  # (1) 출발이 visited 에 없을 때 보류
            yet[orders[node]] = node  # '출발: 도착' 순
            continue
        if node not in visited:
            visited.add(node)
            for next_node in tree[node]:
                queue.append(next_node)
        if node in yet:  # (1) 조건을 건너 뜀 = 출발이 visited 에 있음. 큐에 넣음.
            queue.append(yet[node])
    return len(visited) == n
정확성  테스트
테스트 1 〉	통과 (0.02ms, 10.3MB)
테스트 2 〉	통과 (0.02ms, 10.2MB)
테스트 3 〉	통과 (0.20ms, 10.3MB)
테스트 4 〉	통과 (2.29ms, 10.5MB)
테스트 5 〉	통과 (1.06ms, 10.2MB)
테스트 6 〉	통과 (2.19ms, 10.5MB)
테스트 7 〉	통과 (0.19ms, 10.1MB)
테스트 8 〉	통과 (0.74ms, 10.3MB)
테스트 9 〉	통과 (1.52ms, 10.5MB)
테스트 10 〉	통과 (0.01ms, 10.2MB)
테스트 11 〉	통과 (0.09ms, 10.2MB)
테스트 12 〉	통과 (0.02ms, 10.1MB)
테스트 13 〉	통과 (0.03ms, 10.1MB)
테스트 14 〉	통과 (0.03ms, 10.1MB)
테스트 15 〉	통과 (0.14ms, 10.1MB)
테스트 16 〉	통과 (0.18ms, 10.2MB)
테스트 17 〉	통과 (1.72ms, 10.7MB)
테스트 18 〉	통과 (1.26ms, 10.5MB)
테스트 19 〉	통과 (1.41ms, 10.5MB)
테스트 20 〉	통과 (0.11ms, 10.2MB)
테스트 21 〉	통과 (0.09ms, 10.1MB)
테스트 22 〉	통과 (1.44ms, 10.4MB)
테스트 23 〉	통과 (0.02ms, 10.2MB)
테스트 24 〉	통과 (0.05ms, 10.1MB)
테스트 25 〉	통과 (0.11ms, 10.1MB)
테스트 26 〉	통과 (1.35ms, 10.8MB)
테스트 27 〉	통과 (0.11ms, 10.4MB)
테스트 28 〉	통과 (1.28ms, 10.5MB)
테스트 29 〉	통과 (0.03ms, 10.1MB)
테스트 30 〉	통과 (0.01ms, 10.1MB)
테스트 31 〉	통과 (0.02ms, 10.3MB)
테스트 32 〉	통과 (0.03ms, 10.1MB)
테스트 33 〉	통과 (0.79ms, 10.6MB)
테스트 34 〉	통과 (2.12ms, 10.6MB)
효율성  테스트
테스트 1 〉	통과 (566.95ms, 136MB)
테스트 2 〉	통과 (563.86ms, 136MB)
테스트 3 〉	통과 (620.83ms, 136MB)
테스트 4 〉	통과 (601.53ms, 128MB)
테스트 5 〉	통과 (523.41ms, 129MB)
테스트 6 〉	통과 (609.21ms, 128MB)
테스트 7 〉	통과 (565.63ms, 136MB)
테스트 8 〉	통과 (527.38ms, 136MB)
테스트 9 〉	통과 (266.36ms, 126MB)
테스트 10 〉	통과 (370.61ms, 134MB)
반응형