Hackerrank – Repeated String

Hackerrank – Popis problému

Celý popis zadania sa nacháza – Hackerrank.

Riešenie

Dĺžka slova opakovaného niekoľkokrát za sebou by prekročila časové limity pre toto zadanie. Musíme si ho nejako zjednodušiť.

Máme zadaný reťazec – s. Spočítame výskyt znaku "a" a označíme si ho ako – c
Získaj dĺžku výsledného reťazca (zadané na druhom riadku) – označíme n.
Zisti koľkokrát sa nachádza reťazec s v prvých n znakoch – t = n / length(s)
Určíme si zvyšok nejakých znakoch v n-znakovom reťazci – rest = n - t * length(s)
Zisti, koľko znakov "a" je zvyšku rest of the string – r.

Výpočet pre celkový počet znakov "a":
c * t + r

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

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

Java

JavaScript

Scala

Ruby

Leave a Reply

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *