LeetCode in Kotlin

2264. Largest 3-Same-Digit Number in String

Easy

You are given a string num representing a large integer. An integer is good if it meets the following conditions:

Return the maximum good integer as a string or an empty string "" if no such integer exists.

Note:

Example 1:

Input: num = “6777133339”

Output: “777”

Explanation: There are two distinct good integers: “777” and “333”.

“777” is the largest, so we return “777”.

Example 2:

Input: num = “2300019”

Output: “000”

Explanation: “000” is the only good integer.

Example 3:

Input: num = “42352338”

Output: “”

Explanation: No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.

Constraints:

Solution

class Solution {
    fun largestGoodInteger(num: String): String {
        var maxi = "000"
        var c = 0
        for (i in 0 until num.length - 2) {
            val s = num.substring(i, i + 3)
            if (s[0] == s[1] && s[1] == s[2]) {
                if (s.compareTo(maxi) >= 0) {
                    maxi = s
                }
                ++c
            }
        }
        return if (c == 0) {
            ""
        } else {
            maxi
        }
    }
}