Lv.1 신규 아이디 추천

ujinujin·2022년 1월 20일
1

코딩테스트 뿌시기

목록 보기
1/57

🤖문제

👍 2022년 1월 20일

<script>
function solution(new_id) {
    var answer = '';
    
    // 1단계: 소문자 치환
    new_id = new_id.toLowerCase();
    
    // 2단계: 특정 문자 제외  
    let regex = /[^a-z0-9-_\.]/g;
    new_id = new_id.replace(regex, "");
    
    // 3단계: 마침표 두번이상 있으면 마침표 한 개로 치환
    let dotsDelete = /\.{2,}/g;
    new_id = new_id.replace(dotsDelete, ".");

    // 4단계: 처음, 끝에 마침표 제거
    //new_id.replace(/^\./g, "");	// 이게 아무리 해도 안먹는다 ㅜㅜ
    //new_id.replace(/.$/g, "");	// 얘도 안됨 힝구
     if (new_id.charAt(0) === ".") new_id = new_id.substr(1,);
    if (new_id.charAt(new_id.length-1) === ".") new_id = new_id.slice(0,-1);
    
     // 5단계: 빈 문자열
    if (new_id === "") new_id = "a";
    
    // 6 & 7단계: 길이
    if (new_id.length >= 16) {
        new_id = new_id.substr(0,15);
        if (new_id.charAt(new_id.length-1) === ".") {new_id = new_id.slice(0,-1);}
    } else if (new_id.length <= 2) {
        let cnt = 3-new_id.length;
        console.log(cnt)
        while (true) {
            if (cnt === 0) break
            new_id = new_id + new_id[new_id.length-1]
            cnt--
            }
        }
    
    answer = new_id;
    return answer
}
</script>

새로 배운거 정리한 거는 여기에 😁

profile
백수와 취준생 그 사이 어디

0개의 댓글