2022년 10월 04일 화요일 - 번아웃? 아닌가?


오늘 올려볼 문제는 112번 Path Sum 이라는 문제이다.


사진을 클릭하면 해당 문제로 이동합니다.

leetcode 문제 사진

오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.

뭔가 요즘 열심히는 사는데 뭘 위한건지 잘 모르겠다


입력


사진에서도 볼 수 있듯이 Binaray Tree의 Root Node가 입력으로 들어온다.



풀이 및 코드


Leaf 노드까지 합을 구했을 때 targetSum을 만들 수 있는 path가 있는지 판단하는 문제댜.


오늘은 처음부터 정답을 생각해냈다.

bfs를 사용해서 문제를 풀었다.


이제 코드를 봐보자!


풀이코드

class Solution {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if(root == null) return false;
        Queue<TreeNode> q = new LinkedList<>();
        q.add(root);
        while(!q.isEmpty()) {
            int size = q.size();
            
            for(int i = 0; i < size; i++) {
                TreeNode now = q.poll();
                
                if(isLeaf(now) && now.val == targetSum) return true;
                
                if(now.left != null) {
                    now.left.val += now.val;
                    q.add(now.left);
                }
                
                if(now.right != null) {
                    now.right.val += now.val;
                    q.add(now.right);
                }
            }
        }
        
        return false;
    }
    
    private boolean isLeaf(TreeNode node) {
        return node.left == null && node.right == null;
    }
}




제출 화면

leetcode 문제 맞았습니다


음.. 뭐랄까 진로가 정해진게 얼마 안됐으니 잘 모르는게 많은게 당연하지만.. 그 사이 간격을 빠르게 좁히고 싶은 마음이 큰 시기인거 같다.

그런 의미에서 오늘은 천천히 쉬어가는 날인걸로.


내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.

+ Recent posts