https://programmers.co.kr/learn/courses/30/lessons/72410
#include <string>
#include <vector>
using namespace std;
string solution(string new_id) {
string answer = "";
vector<char> temp;
for (int i = 0; i < new_id.size(); i++) {
if (isupper(new_id[i]))
temp.push_back(tolower(new_id[i]));
else
temp.push_back(new_id[i]);
}
for (int i = 0; i < temp.size(); i++) {
if (!(islower(temp[i]) || isdigit(temp[i]) || temp[i] == '-' || temp[i] == '_' || temp[i] == '.')) {
temp.erase(temp.begin() + i);
i -= 1;
}
}
for (int i = 1; i < temp.size(); ) {
if (temp[i] == '.' && temp[i - 1] == '.') {
temp.erase(temp.begin() + i);
continue;
}
else i++;
}
if (temp.size()>0 && temp[0] == '.')
temp.erase(temp.begin());
if (temp.size()> 0 && temp[temp.size() - 1] == '.')
temp.erase(temp.begin()+temp.size() - 1);
if (temp.size() == 0)
temp.push_back('a');
if (temp.size() > 15) {
temp.erase(temp.begin() + 15, temp.begin()+temp.size());
}
if (temp[temp.size() - 1] == '.')
temp.erase(temp.begin() + temp.size()-1);
if (temp.size() <= 2) {
char last = temp[temp.size() - 1];
while (temp.size()<3) {
temp.push_back(last);
}
}
for (int i = 0; i < temp.size(); i++)
answer += temp[i];
return answer;
}
'카카오 코딩 테스트 풀이' 카테고리의 다른 글
순위 검색 C++ (0) | 2021.03.16 |
---|---|
매칭 점수 풀이 (0) | 2019.09.04 |
길 찾기 게임 풀이 (0) | 2019.09.03 |
무지의 먹방 라이브 (0) | 2019.09.02 |
후보키 풀이 (0) | 2019.09.02 |