본문 바로가기

개발/알고리즘

프로그래머스 신규 아이디 추천 javaScript

문제

programmers.co.kr/learn/courses/30/lessons/72410

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

코드

function solution(new_id) 
{
    //step1 
    new_id = new_id.toLowerCase();
    
    //step2
    new_id = new_id.replace(/[^a-z0-9-_.]/gi, "");
    
    //step3
    //+ 앞문자가 하나이상 나올 수 있음.
    new_id = new_id.replace(/\.+/gi, ".");
    
    //step4
    //* 앞문자가 없을수도 무한정 많을 수도 있음
    new_id = new_id.replace(/^\.*/gi, "");
    new_id = new_id.replace(/\.*$/gi, ""); 
    
    //step6
    new_id = new_id.substring(0,15);   
    new_id = new_id.replace(/\.*$/gi, "");

    //step5
    if (new_id.length == 0)
        new_id += 'a';
    
    //step7
    while(new_id.length < 3)
         new_id += new_id[new_id.length-1]
    
    return new_id;
}