DataScience trainee

Leetcode 1302. Deepest Leaves Sum in Python3

Deepest Leaves Sum


개요

  • 이번 포스팅은 파이썬 코딩테스트 연습문제 풀이입니다.
  • Leetcode 에 공개된 예제이며 링크는 아래와 같습니다.

https://leetcode.com/problems/deepest-leaves-sum/


코드

def deepestLeavesSum(self, root: Optional[TreeNode]) -> int:
    from collections import deque
    dept = 1
    tree = {}
    queue = deque()
    queue.append((dept, root))

    while queue:
        current = queue.popleft()
        dept = current[0]
        root = current[1]

        try:
            tree[dept].append(root.val)
        except:
            tree[dept] = [root.val]

        if root.left != None:
            queue.append((dept+1, root.left))
        if root.right != None:
            queue.append((dept+1, root.right))

    return sum(tree[max(tree)])

마치며

이번 포스팅은 Leetcode에 존재하는DFS 태크 중 난이도 Medium 에 해당하는 문제입니다.
저는 BFS로 풀었지만 DFS로도 풀이가 가능하기 때문에 태그가 중복된 것 같습니다.