LeetCode: Thousand Separator

Question

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"

Solution

def thousand_separator(n)
  i = 3
  length = n.to_s.length
  length = length + length / 4
  return n.to_s if length < 4

  while i < length
    n = n.to_s.reverse.insert(i, '.').reverse
    i += 4
  end
  n
end