https://leetcode.com/problems/binary-watch Easy

Решение

fun readBinaryWatch(turnedOn: Int): List<String> {
    val result = mutableListOf<String>()

    // Перебираем все возможные часы (0-11) и минуты (0-59)
    for (h in 0 until 12) {
        for (m in 0 until 60) {
            // Проверяем количество единиц в двоичном представлении часов и минут
            if (Integer.bitCount(h) + Integer.bitCount(m) == turnedOn) {
                // Форматируем строку в виде "h:mm" с двухзначными минутами
                result.add("$h:${String.format("%02d", m)}")
            }
        }
    }

    return result
}