Initials for an avatar
The user menu shows initials when someone has no profile picture.
- Take the first letter of each space-separated word, uppercased, joined by dots, with a trailing dot.
- Collapse repeated spaces, and ignore leading and trailing ones.
- An empty or blank name gives an empty string.
initials(fullName: string) → string
C++ needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.
Where you start
std::string initials(std::string fullName) {
}
Worked examples
| Call | Result |
|---|---|
initials(std::string("ada lovelace")) | std::string("A.L.") |
initials(std::string("Grace Brewster Hopper")) | std::string("G.B.H.") |
initials(std::string(" linus ")) | std::string("L.") |
initials(std::string("")) | std::string("") |
Hint
Split on whitespace, drop the empty pieces, then take index 0 of each.
Reference solution in C++
std::string initials(std::string fullName) {
string out;
istringstream in(fullName);
string w;
while (in >> w) {
out += toupper(static_cast<unsigned char>(w[0]));
out += '.';
}
return out;
}