Level1 - 신규 아이디 추천

손대중·2022년 3월 12일
0

문제 설명 및 링크

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

나의 풀이

풀이라고 할 것도 없이 그냥 문제에 나온 알고리즘대로 코딩하면 됨.

다만 다른 사람들의 풀이를 꼭 보기 바람.

난 그냥 지저분하게 하나하나 했는데, 정규식으로 깔끔하게 코드 짤 수 있음.

결과는 똑같으면 간결하고 명확한 코드가 더 좋은 코드니깐.

코드

모든 프로그래머스 문제 관련 코드들은 GitHub 링크 에 있음.

function solution(new_id) {
    new_id = new_id.toLowerCase();
    
    new_id = new_id.replace(/[^a-z0-9-_.]/g, '');
    
    new_id = new_id.replace(/[\.]+/g, '.');
    
    if (new_id.indexOf('.') === 0) {
        new_id = new_id.substring(1);
    }
    if (new_id.lastIndexOf('.') === new_id.length - 1) {
        new_id = new_id.substring(0, new_id.length - 1);
    }
    
    if (!new_id) {
        new_id = 'a';
    }
    
    new_id = new_id.substring(0, 15);
    if (new_id[new_id.length - 1] === '.') {
        new_id = new_id.substring(0, 14);
    }
    
    while (new_id.length < 3) {
        new_id = new_id + new_id[new_id.length - 1];
    }
    
    return new_id;
}

0개의 댓글