[JS] 신규 아이디 추천

기성·2023년 4월 4일
0

코드

function solution(new_id) {
    let answer = new_id.toLowerCase()
    .replace(/[^\w\.\-]/g,'')
    .replace(/[.]{2,}/g,'.')
    .replace(/^\./g,'')
    .padEnd(1,'a')
    .slice(0,15).replace(/\.$/g,'')
    return answer.padEnd(3,answer[answer.length-1]);
} 

정규식을 사용하면 편하게 풀 수 있을거라고 생각했다. 처음엔 한 단계씩 level1, level2 이런식으로 한 단계씩 풀어나가려 했다. map과 for문을 사용해서 split한 id를 만지려니 너무 복잡해졌다. 다른사람들을 보니 정규식과 체인으로 간단하게 해결했더라,,

보면서 padEnd라는 건 처음봤다 js Docs를 많이 봐둬야겠다. 처음보는 함수가 아직도 많다.

String.prototype.padEnd()

padEnd() 메서드는 현재 문자열에 다른 문자열을 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 끝(우측)부터 적용됩니다.

출처: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd

profile
프론트가 하고싶어요

0개의 댓글