# 1556. Thousand Separator

## Description

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"


Constraints:

• 0 <= n <= 231 - 1

## Solutions

• class Solution {
public String thousandSeparator(int n) {
int cnt = 0;
StringBuilder ans = new StringBuilder();
while (true) {
int v = n % 10;
n /= 10;
ans.append(v);
++cnt;
if (n == 0) {
break;
}
if (cnt == 3) {
ans.append('.');
cnt = 0;
}
}
return ans.reverse().toString();
}
}

• class Solution {
public:
string thousandSeparator(int n) {
int cnt = 0;
string ans;
while (1) {
int v = n % 10;
n /= 10;
ans += to_string(v);
if (n == 0) break;
if (++cnt == 3) {
ans += '.';
cnt = 0;
}
}
reverse(ans.begin(), ans.end());
return ans;
}
};

• class Solution:
def thousandSeparator(self, n: int) -> str:
cnt = 0
ans = []
while 1:
n, v = divmod(n, 10)
ans.append(str(v))
cnt += 1
if n == 0:
break
if cnt == 3:
ans.append('.')
cnt = 0
return ''.join(ans[::-1])


• func thousandSeparator(n int) string {
cnt := 0
ans := []byte{}
for {
v := n % 10
n /= 10
ans = append(ans, byte('0'+v))
if n == 0 {
break
}
cnt++
if cnt == 3 {
ans = append(ans, '.')
cnt = 0
}
}
for i, j := 0, len(ans)-1; i < j; i, j = i+1, j-1 {
ans[i], ans[j] = ans[j], ans[i]
}
return string(ans)
}