LC 0202 [E] Happy Number - ALawliet/algorithms GitHub Wiki

class Solution:
    def isHappy(self, n: int) -> bool:
        def sumOfSquares(n):
            output = 0
            while n:
                digit = n % 10 # 19 -> 9 
                digit = digit ** 2
                output += digit
                n = n // 10 # 19 -> 1
            return output
        
        visited = set()
        
        while n not in visited:
            visited.add(n)
            n = sumOfSquares(n)
            
            if n == 1:
                return True
        return False