https://leetcode.com/problems/maximum-69-number/description/ Easy

Условие

Дано целое число num, состоящее только из цифр 6 и 9. Разрешается заменить одну цифру 6 на 9, чтобы получить максимальное возможное число. Верни максимальное число, которое можно получить после такой замены.

Примеры

Input: num = 9669 Output: 9969 Explanation: Заменив первую 6 на 9, получаем 9969.

Input: num = 9996 Output: 9999 Explanation: Заменив последнюю 6 на 9, получаем 9999.

Input: num = 9999 Output: 9999 Explanation: Нет шестерок, менять нечего.

Решение

fun maximum69Number(num: Int): Int {
    // Преобразуем число в массив символов
    val chars = num.toString().toCharArray()
    // Проходим по цифрам
    for (i in chars.indices) {
        // Если находим первую 6 — заменяем на 9 и выходим
        if (chars[i] == '6') {
            chars[i] = '9'
            break
        }
    }
    // Преобразуем результат обратно в число
    return String(chars).toInt()
}

Временная сложность

O(d), где d — количество цифр в числе.

Пространственная сложность

O(d) — на хранение массива символов.