Study
프로그래머스-신규 아이디 추천 본문
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
<풀이>
#include <string>
#include <vector>
#include <locale>
using namespace std;
string solution(string new_id) {
string answer = "";
string ch_id = "";
//1-2단계
for(int i=0; i<new_id.size(); i++){
if(isalpha(new_id[i]) != 0){
ch_id +=tolower(new_id[i]);
}else if(isdigit(new_id[i]) == 1){
ch_id+=new_id[i];
}
else if(new_id[i] == '-' || new_id[i] == '_' || new_id[i] =='.'){
ch_id+=new_id[i];
}
}
//3단계
for(int i = 1; i < ch_id.length(); i++){
if (ch_id[i] == '.' && ch_id[i - 1] == '.'){
ch_id.erase(i, 1);
i--;
}
}
//4단계
if(ch_id.front() == '.'){
ch_id.erase(ch_id.begin());
}else if(ch_id.back() == '.'){
ch_id.pop_back();
}
//5단계
if(ch_id.size() == 0) {
ch_id+='a';
}
//6단계
if(ch_id.size() >=16) {
ch_id = ch_id.substr(0, 15);
}
if(ch_id.back() == '.'){
ch_id.pop_back();
}
//7단계
char last = ch_id[ch_id.size()-1];
while(ch_id.size()<3){
ch_id+=last;
}
answer += ch_id;
return answer;
}
'알고리즘 > C++ 문제풀이' 카테고리의 다른 글
프로그래머스-소수 만들기 (0) | 2021.07.12 |
---|---|
프로그래머스-실패율 (0) | 2021.07.07 |
프로그래머스-로또의 최고 순위와 최저 순위 (0) | 2021.07.06 |
프로그래머스-예산 (0) | 2021.07.05 |
프로그래머스-폰켓몬 (0) | 2021.07.02 |