-
월간 코드 챌린지 시즌2: 모두 0으로 만들기코딩 테스트/Level 3 2021. 10. 5. 00:48반응형
https://programmers.co.kr/learn/courses/30/lessons/76503
import sys sys.setrecursionlimit(300000) def solution(a, edges): answer = 0 if sum(a) != 0: return -1 tree = {} for node1, node2 in edges: tree.setdefault(node1, []).append(node2) tree.setdefault(node2, []).append(node1) def dfs(current_node, visited_node): nonlocal answer for next_node in tree[current_node]: if next_node != visited_node: dfs(next_node, current_node) answer += abs(a[current_node]) a[visited_node] += a[current_node] a[current_node] = 0 dfs(0, 0) return answer
테스트 1 〉 통과 (0.00ms, 10.3MB) 테스트 2 〉 통과 (0.01ms, 10.4MB) 테스트 3 〉 통과 (3.24ms, 69.9MB) 테스트 4 〉 통과 (680.64ms, 109MB) 테스트 5 〉 통과 (671.53ms, 109MB) 테스트 6 〉 통과 (3.54ms, 70MB) 테스트 7 〉 통과 (1048.75ms, 392MB) 테스트 8 〉 통과 (1178.80ms, 332MB) 테스트 9 〉 통과 (3.27ms, 69.9MB) 테스트 10 〉 통과 (604.64ms, 112MB) 테스트 11 〉 통과 (660.59ms, 109MB) 테스트 12 〉 통과 (3.47ms, 70MB) 테스트 13 〉 통과 (565.26ms, 109MB) 테스트 14 〉 통과 (498.47ms, 109MB) 테스트 15 〉 통과 (3.41ms, 70MB) 테스트 16 〉 통과 (918.60ms, 247MB) 테스트 17 〉 통과 (733.26ms, 163MB) 테스트 18 〉 통과 (343.51ms, 109MB)
반응형