Problema
Converti text in title case: la prima lettera di ogni parola diventa maiuscola e le restanti lettere minuscole. Le parole sono separate da singoli spazi.
Implementa title_case(text).
Input
text: Parole in minuscolo o in maiuscolo/misto separate da singoli spazi.
Output
Restituisci il testo con le iniziali maiuscole.
Vincoli
0 ≤ lunghezza ≤ 10.000 (lettere e spazi)
Esempi
Input:
text = "hello world"
Output atteso:
expected = "Hello World"
Input:
std::string text = "hello world";
Output atteso:
std::string expected = "Hello World";
Input:
string text = "hello world";
Output atteso:
string expected = "Hello World";
Spiegazione
"hello" → "Hello" e "world" → "World".
Input:
text = "tHE qUICK fox"
Output atteso:
expected = "The Quick Fox"
Input:
std::string text = "tHE qUICK fox";
Output atteso:
std::string expected = "The Quick Fox";
Input:
string text = "tHE qUICK fox";
Output atteso:
string expected = "The Quick Fox";
Spiegazione
Le lettere restanti diventano minuscole: "The Quick Fox".
Come affrontarlo
Prova prima da solo, poi apri un suggerimento alla volta.
Suggerimento 1
Dividi il testo in parole e tratta ogni parola separatamente.
Suggerimento 2
Metti in maiuscolo il primo carattere e in minuscolo il resto, poi unisci di nuovo le parole con gli spazi.
Suggerimento 3
Attenzione all'input vuoto, così non provi ad accedere a un primo carattere mancante.
Complessità attesa
tempo O(n), spazio aggiuntivo O(n)
Riferimenti
Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.