https://leetcode.com/problems/reformat-phone-number/description/ Easy

Решение

class Solution {
    fun reformatNumber(phoneNumber: String): String {
        val digits = StringBuilder()
        for (c in phoneNumber) {
            if (c.isDigit()) digits.append(c)
        }
        val sb = StringBuilder()
        var i = 0
        val n = digits.length
        while (n - i > 4) {
            sb.append(digits.substring(i, i + 3)).append('-')
            i += 3
        }
        if (n - i == 4) {
            sb.append(digits.substring(i, i + 2)).append('-')
            sb.append(digits.substring(i + 2, i + 4))
        } else {
            sb.append(digits.substring(i, n))
        }
        return sb.toString()
    }
}