class Solution:

    def subsetXORSum(self, nums: List[int]) -> int:

        ans = 0

        n, stack= len(nums), 0

        

        def backtrack(depth, stack, n):

            if (depth == n): 

                nonlocal ans

                ans += stack

                return

            backtrack(depth + 1, stack, n)

            stack ^= nums[depth]

            backtrack(depth + 1, stack, n)

            

        backtrack(0, stack, n)

        return ans


재귀가 아닌 for문 brute force로도 비트를 이용해서 할 수 있긴 한데... 두 배 느리더라