Zurück zu den Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Stunden, Minuten und Sekunden

Wandle eine Dauer in Sekunden in einen kompakten, lesbaren String um.

Das lernst du

  • Sekunden in Stunden, Minuten und Sekunden zerlegen
  • Division und Rest zusammen verwenden
  • Teile zu einem lesbaren String formatieren

Problem

Teile eine Dauer in Stunden, Minuten und Sekunden auf. Schreibe die Einheiten als h, m und s, in genau dieser Reihenfolge, jeweils mit einem Leerzeichen zwischen den Einheiten. Lasse jede Einheit mit dem Wert Null weg, außer dass null Sekunden als 0s geschrieben werden.

Implementiere format_duration(seconds).

Eingabe

seconds: Die Gesamtdauer in Sekunden.

Ausgabe

Gib die formatierte Dauer zurück, zum Beispiel 2h 2m 5s.

Einschränkungen

0 ≤ seconds ≤ 1.000.000.000. Die Stunden können größer als 23 sein; es handelt sich um eine Dauer, nicht um eine Tageszeit.

Beispiele

Beispiel 1
Eingabe:
seconds = 7325

Erwartete Ausgabe:
expected = "2h 2m 5s"
Eingabe:
long long seconds = 7325;

Erwartete Ausgabe:
std::string expected = "2h 2m 5s";
Eingabe:
long seconds = 7325;

Erwartete Ausgabe:
string expected = "2h 2m 5s";

Erläuterung

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

Beispiel 2
Eingabe:
seconds = 120

Erwartete Ausgabe:
expected = "2m"
Eingabe:
long long seconds = 120;

Erwartete Ausgabe:
std::string expected = "2m";
Eingabe:
long seconds = 120;

Erwartete Ausgabe:
string expected = "2m";

Erläuterung

120 Sekunden sind genau 2 Minuten. Die null Stunden und Sekunden werden weggelassen.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Zerlege die Gesamtsekunden zuerst in größere Einheiten und formatiere dann nur die nichtnullen Teile.

Hinweis 2

Behalte Stunden, Minuten und Sekunden in genau dieser Reihenfolge, mit Leerzeichen zwischen den verwendeten Einheiten.

Hinweis 3

Wenn alle größeren Einheiten 0 sind, muss die Ausgabe bei Dauer 0 trotzdem genau 0s sein.

Erwartete Komplexität

Zeit O(1), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.