Torna alle sfide
Facile 0 risolte 0% di accettazione

Acronym Generator

Create an acronym from the first letter of every word, in uppercase.

Cosa imparerai

  • Dividere il testo su spazi e trattini
  • Prendere la prima lettera di ogni parola
  • Convertire le lettere in maiuscolo

Problema

Create an acronym from the first letter of every word, in uppercase. Spaces and hyphens separate words. Remove every other punctuation mark and digit without adding a separator; an apostrophe inside a word does not start another word. Ignore empty pieces.

Implement acronym_generator(phrase).

Input

phrase: The phrase to shorten.

Output

Return the uppercase initials in their original order.

Vincoli

0 ≤ phrase length ≤ 10,000. Input contains ASCII letters, digits, spaces, and punctuation; no tabs or line breaks. A phrase with no letters returns empty text.

Esempi

Esempio 1
Input:
phrase = "central-processing unit"

Output atteso:
expected = "CPU"
Input:
std::string phrase = "central-processing unit";

Output atteso:
std::string expected = "CPU";
Input:
string phrase = "central-processing unit";

Output atteso:
string expected = "CPU";

Spiegazione

The hyphen and space separate central, processing, and unit. Their initials are C, P, and U.

Esempio 2
Input:
phrase = "don't repeat yourself"

Output atteso:
expected = "DRY"
Input:
std::string phrase = "don't repeat yourself";

Output atteso:
std::string expected = "DRY";
Input:
string phrase = "don't repeat yourself";

Output atteso:
string expected = "DRY";

Spiegazione

Remove the apostrophe to obtain dont. It is still one word, followed by repeat and yourself.

Come affrontarlo

Prova prima da solo, poi apri un suggerimento alla volta.

Suggerimento 1

Tratta spazi e trattini come separatori di parole, ma ignora cifre e altra punteggiatura dentro o attorno alle parole.

Suggerimento 2

Cerca la prima lettera dopo ogni separatore e rendila maiuscola.

Suggerimento 3

Gli apostrofi dentro una parola non devono creare una nuova parola, e i blocchi vuoti vanno saltati.

Complessità attesa

tempo O(n), spazio aggiuntivo O(n)

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.