Матч
340, Преобразователь свойств (CssPropertyConverter)
Дивизион 2,
Уровень 1
Имена css свойств пишутся
маленькими буквами латинского алфавита с использованием дефисов. Например,
типичными именами являются “z-index”,
“padding-left”, “border-collapse”. В JavaScript
для установки css стиля используют CAMEL
нотацию, в которой каждое слово кроме первого начинается с заглавной буквы,
слова пишутся слитно. Например, имя “z-index”
в CAMEL нотации будет иметь вид “zIndex”.
В задаче требуется
слово cssPropertyName перевести в CAMEL нотацию.
Класс: CssPropertyConverter
Метод: string getCamelized(string cssPropertyName)
Ограничения: cssPropertyName
содержит от 1 до 50 символов ‘a’ – ‘z’ и ‘-’, справа и слева от каждого дефиса
находится буква.
Вход. Строка, содержащая имя css
свойства.
Выход. Строка, содержащая имя css свойства в
CAMEL нотации.
Пример входа
cssPropertyName |
“z-index” |
“border-collapse” |
“top-border-width” |
Пример выхода
“zIndex”
“borderCollapse”
“topBorderWidth”
РЕШЕНИЕ
обработка строк
Проходим по строке слева направо.
Стираем каждый встретившийся симол дефиса и переводим следующую за ним букву в
верхний регистр.
ПРОГРАММА
#include <cstdio>
#include <string>
using namespace std;
class CssPropertyConverter
{
public:
string getCamelized(string cssPropertyName)
{
for(int
i = 0; i < cssPropertyName.size(); i++)
if(cssPropertyName[i] == '-')
{
cssPropertyName.erase(cssPropertyName.begin() + i);
cssPropertyName[i] = toupper(cssPropertyName[i]);
}
return
cssPropertyName;
}
};