LeetCode in Kotlin

2437. Number of Valid Clock Times

Easy

You are given a string of length 5 called time, representing the current time on a digital clock in the format "hh:mm". The earliest possible time is "00:00" and the latest possible time is "23:59".

In the string time, the digits represented by the ? symbol are unknown, and must be replaced with a digit from 0 to 9.

Return an integer answer, the number of valid clock times that can be created by replacing every ?with a digit from 0 to 9.

Example 1:

Input: time = “?5:00”

Output: 2

Explanation: We can replace the ? with either a 0 or 1, producing “05:00” or “15:00”. Note that we cannot replace it with a 2, since the time “25:00” is invalid. In total, we have two choices.

Example 2:

Input: time = “0?:0?”

Output: 100

Explanation: Each ? can be replaced by any digit from 0 to 9, so we have 100 total choices.

Example 3:

Input: time = “??:??”

Output: 1440

Explanation: There are 24 possible choices for the hours, and 60 possible choices for the minutes. In total, we have 24 * 60 = 1440 choices.

Constraints:

Solution

class Solution {
    fun countTime(time: String): Int {
        val counts = intArrayOf(3, 10, 0, 6, 10)
        val ch = time.toCharArray()
        var result = 1
        if (ch[0] == '2') {
            counts[1] = 4
        }
        if (ch[1].code - '0'.code > 3) {
            counts[0] = 2
        }
        if (ch[0] == '?' && ch[1] == '?') {
            counts[0] = 1
            counts[1] = 24
        }
        for (i in 0..4) {
            val ch1 = ch[i]
            if (ch1 == '?') {
                result *= counts[i]
            }
        }
        return result
    }
}
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy