https://programmers.co.kr/learn/courses/30/lessons/72410
#include <string>
#include <vector>
using namespace std;
string solution(string new_id) {
string answer = "";
string tmp;
//1단계
for(int i=0; i<new_id.size(); i++){
if(isupper(new_id[i])) answer += tolower(new_id[i]);
else answer += new_id[i];
}
//2단계
for(int i=0; i<answer.size(); i++){
if(islower(answer[i]) || isdigit(answer[i]) || answer[i] == '-' || answer[i] == '_' || answer[i] == '.') tmp += answer[i];
}
answer="";
//3단계
for(int i=0; i<tmp.size(); i++){
if(tmp[i] == '.'){
i+=1;
answer += '.';
while(tmp[i] == '.'&& i <tmp.size()) i+=1;
}
if(i <tmp.size())
answer += tmp[i];
}
//4단계
if(answer[0] == '.')
answer= answer.substr(1);
if(answer[answer.size()-1] == '.')
answer = answer.substr(0,answer.size()-1);
//5단계
if(answer.size()== 0) answer ="a";
//6단계
if(answer.size() >=16) {
answer = answer.substr(0,15);
if(answer[answer.size()-1] == '.') answer = answer.substr(0,answer.size()-1);
}
//7단계
if(answer.size() <=2) {
while(answer.size()<3)
answer += answer[answer.size()-1];
}
return answer;
}
'프로그래머스' 카테고리의 다른 글
순위 검색 C++ (0) | 2021.07.01 |
---|---|
메뉴 리뉴얼 C++ (0) | 2021.06.30 |
가장 먼 노드 C++ (0) | 2021.04.22 |
기둥과 보 설치 C++ (0) | 2020.11.09 |
자물쇠와 열쇠 C++ (0) | 2020.11.03 |