Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[레벨 1] 신규 아이디 추천 본문
반응형
#include <string>
#include <vector>
using namespace std;
string solution(string new_id) {
// . 은 처음과 끝 x 연속사용x
string answer = "";
for (auto it = new_id.begin(); it != new_id.end();)
{
if (*it >= 'A' && *it <= 'Z')
*it = *it + 32;
else if ((*it >= 'a' && *it <= 'z'))
++it;
else if ((*it >= '0' && *it <= '9'))
++it;
else if (*it != '-' && *it != '_' && *it != '.')
it = new_id.erase(it);
else if (it == new_id.begin() && *it == '.')
it = new_id.erase(it);
else if (*it == '.' && *(it - 1) == '.')
it = new_id.erase(it);
else
++it;
}
int len = new_id.size();
if (len != 0 && new_id[len - 1] == '.')
{
new_id.resize(len - 1);
len = len - 1;
}
if (len >= 16)
{
new_id.resize(15);
len = 15;
if (new_id[14] == '.')
{
new_id.resize(14);
len = 14;
}
}
else if (len <= 2)
{
if (len == 0) // 빈 문자열
{
new_id += 'a';
len = 1;
}
char data = new_id[len - 1];
for (int i = len; i < 3; ++i)
new_id.push_back(data);
}
return new_id;
}
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[레벨 1] 나머지가 1이 되는 수 찾기 (0) | 2021.10.28 |
---|---|
[레벨 1] 키패드 누르기 (0) | 2021.10.27 |
[레벨 1] 로또의 최고 순위와 최저 순위 (0) | 2021.10.26 |
[레벨1] 폰켓몬 (0) | 2021.10.24 |
[레벨 1] 없는 숫자 더하기 (0) | 2021.10.23 |
Comments