카테고리 없음

[프로그래머스/javascript] 신규아이디 추천

_서리__ 2023. 2. 3. 09:50
function solution(new_id) {
    var answer = '';
    let newId;
    let possible =['1',"2",'3','4','5','6','7','8','9','0',
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n',
    'o','p','q','r','s','t','u','v','w','x','y','z','-','_','.']
    newId = new_id.toLowerCase();
    for(let i=0;i<newId.length;i++){
        if(possible.indexOf(newId[i])!==-1){
            answer+=newId[i]
        }
    }
    newId='';
    for(let i=0;i<answer.length;i++){
        if(answer[i]==='.'&&answer[i-1]==='.'){
            continue;
        }else{
            newId+=answer[i];
        }
    }
    if(newId[0]==='.'){
    newId = newId.substring(1)}
    if(newId[newId.length-1]==='.'){
        newId = newId.substring(0,newId.length-1)
    }
    if(newId.length===0) newId="a"
    if(newId.length>=15){
        newId = newId.substring(0,15)
    }
    if(newId[newId.length-1]==='.'){
        newId = newId.substring(0,newId.length-1)
    }
    if(newId.length<=2){
        while(newId.length<=2){
            newId+=newId[newId.length-1]
        }
    }

    return newId;
}