cgy12306
2021 카카오 신입공채 1차 문제 1번 - 아이디 추천 본문
#include <vector>
#include <iostream>
#include<algorithm>
#include <string>
using namespace std;
string solution(string new_id) {
string answer = new_id;
int size;
//#1
for(int i=0;i<answer.size();i++){
if(answer[i]>='A' && answer[i]<='Z') answer[i]+='a'-'A';
}
//#2
for(int i=0;i<answer.size();i++){
if(!((answer[i]>='a' && answer[i]<='z') || (answer[i]>='0' && answer[i]<='9') ||answer[i]=='-' || answer[i]=='_' || answer[i]=='.')){
answer.replace(i,1,"");
i--;
}
}
//#3
for(int i=0;i<answer.size();i++){
if(answer[i]=='.' && answer[i+1] =='.' && answer[i+2] =='.'){
answer.replace(i, 3, "..");
i--;
}else if(answer[i]=='.' && answer[i+1] =='.'){
answer.replace(i, 2, ".");
i--;
}
}
//#4
if(answer[0]=='.') answer.replace(0,1,"");
//#5
if(answer.size()==0)answer="a";
//#6
if(answer.size()>15) answer.replace(15, answer.size()-15,"");
if(answer[answer.size()-1]=='.') answer.replace(answer.size()-1,1,"");
//#7
if(answer.size()==1){
answer+=answer+answer;
}
else if(answer.size()==2){
answer+=answer[1];
}
return answer;
}
'Algorithm' 카테고리의 다른 글
[백준 BoJ] 11725 - 트리의 부모 찾기 (0) | 2021.07.05 |
---|
Comments