Todos los desafíos
Fácil 0 resueltos 0% de aceptación

Horas, minutos y segundos

Convierte una duración en segundos a una cadena legible y compacta.

Divide una duración en horas, minutos y segundos. Escribe las unidades como h, m y s, en ese orden, con un espacio entre cada unidad. Omite cualquier unidad cuyo valor sea cero, excepto que los segundos cero se escriben como 0s.

Implementa format_duration(seconds).

Entrada

seconds: La duración total en segundos.

Salida

Devuelve la duración formateada, por ejemplo 2h 2m 5s.

Restricciones

0 ≤ seconds ≤ 1,000,000,000. Las horas pueden ser mayores que 23; esto es una duración, no una hora del día.

Ejemplos

Ejemplo 1
Entrada:
seconds = 7325

Salida esperada:
expected = "2h 2m 5s"
Entrada:
long long seconds = 7325;

Salida esperada:
std::string expected = "2h 2m 5s";
Entrada:
long seconds = 7325;

Salida esperada:
string expected = "2h 2m 5s";

Explicación

7325 = 2 × 3600 + 2 × 60 + 5.

Ejemplo 2
Entrada:
seconds = 120

Salida esperada:
expected = "2m"
Entrada:
long long seconds = 120;

Salida esperada:
std::string expected = "2m";
Entrada:
long seconds = 120;

Salida esperada:
string expected = "2m";

Explicación

120 segundos son exactamente 2 minutos. Se omiten las horas y los segundos si son cero.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.