본문 바로가기
이것저것

[Leet Code] 112. Path Sum

by 문자메일 2022. 3. 18.

문제사항 : dfs를 돌리는 과정에서 전역변수 flag 값으로 targetSum 합계에 해당하는 값 나왔을 때 전역변수 flag = True 값으로 바꿔서 정답 판별하려고 하였는데, 계속 코드 제출만 하면 Error가 발생함. (해당 TC로 run code 눌렀을 때는 OK 뜨는데)

위 문제때문에 엄청 삽질함

 

문제해결 : hasPathSum() 메서드 안에 Solution.flag = False 로 전역변수 flag값 False로 초기화하는 부분 넣으니 해결됨

채점시스템이 어떻게 돌아가는지 모르겠는데, 전역변수는 초기화하지 않아서 flag에 True 값으로 저장된 것이 False로 초기화 되지 않아서 발생한 문제인 것 같음

 

 

 

 

 

class Solution:
    
    flag = False
    
    def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
        Solution.flag = False
        if root == None:
            return False
        return self.dfs(root, targetSum, 0)
        
    
    def dfs(self, root, targetSum, count):
        count += root.val

        if count == targetSum and root.left ==None and root.right == None:
            Solution.flag = True


        if root.left != None:
            self.dfs(root.left, targetSum, count)
        if root.right != None:
            self.dfs(root.right, targetSum, count)
        return  Solution.flag

'이것저것' 카테고리의 다른 글

시스템 환경변수 cmd에서 출력하는 방법  (0) 2022.05.14
[LeetCode] 200. Number of Islands  (0) 2022.03.18
leetcode 139. Word Break  (0) 2022.03.09
텐서플로우 자주쓰는 수학함수  (0) 2022.03.01
관심 가져야 할 테마  (0) 2022.02.28

댓글