Given an integer n, add a dot (".") as the thousands separator and return it in string format.
 
Example 1:
Input: n = 987
Output: "987"

Example 2:
Input: n = 1234
Output: "1.234"

Example 3:
Input: n = 123456789
Output: "123.456.789"

Example 4:
Input: n = 0
Output: "0"

 
Constraints:

0 <= n < 2^31

Difficulty: introductory

Starter code:

class Solution:
    def thousandSeparator(self, n: int) -> str:
        

Solutions:
class Solution:
    def thousandSeparator(self, n: int) -> str:
        arr = []
        i, count = 0, 0
        num = str(n)
        while i < len(num):
            if count != 3:
                arr.append(num[~i])
                i += 1
                count += 1
            else:
                arr.append('.')
                count = 0
                
        return ''.join(arr[::-1])


class Solution:
    def thousandSeparator(self, n: int) -> str:
        res = ''
        for i in range(1,len(str(n))+1):
            res = str(n)[::-1][i-1] + res
            if(i%3 == 0 and i != len(str(n))):
                res = '.' + res
        return res


class Solution:
    def thousandSeparator(self, n: int) -> str:
        s = str(n)
        arr = []
        for i, c in enumerate(reversed(s)):
            if i and not i % 3:
                arr.append('.')
            arr.append(c)
        return ''.join(reversed(arr))

class Solution:
    def thousandSeparator(self, n: int) -> str:
        x=3
        aux=list(str(n))
        ans=''
        while len(aux)!=0:
            i=0
            temp=''
            while i<3 and len(aux)!=0:
                temp=aux.pop()+temp
                i+=1
            if n>10**x:
                ans='.'+temp+ans
                x+=3
            else:
                ans=temp+ans
        return ans

class Solution:
    def thousandSeparator(self, n: int) -> str:
        
        n = list(str(n))
        if len(n) > 3:
            for i in range(len(n)-3,0,-3):
                n.insert(i, '.')
        return ''.join(n)