Hackerrank - Time Conversion

Popis problému
Celý popis zadania sa nacháza - Hackerrank.

Riešenie

  • hours časť zadaného času od pozície 0 po pozíciu prvého výskytu ':'
  • minutes časť zadaného času od pozície prvého výskytu znaku ':' + 1 po pozíciu posledného výskytu znaku ':'
  • seconds časť zadaného času od pozície posledého výskytu znaku ':' + 1 po koniec vstupu ':' + 3

Potom som vytvoril novú hodnotu hours nasledovne:
Skontroloval som, či hour má hodnotu 12

  • potom som ju zmenil na 0
  • inak som ju nezmenil

A vypočítal shift (posun) hours (hodín).
Ak je na vstupe 'PM'

  • potom som zmenil hodnotu na 12
  • inak som ju zmenil na 0

Na koniec som vypísal naformatovaný upravený reťazec.

Pozn: Väčšina programovacích jazykov má pozície v reťazcoch počítané od 0

Vytvoril som riešenie v týchto programovacích jazykoch:

Všetky riešenia sú dostupné aj na mojom GitHub profile.

Scala

Java

JavaScript

Ruby