프로그래머스 LEVEL 1(신규 아이디 추천))
-
사용 언어 : javascript
-
해결 날짜 : 2022-08-02
-
해결 방법 :
- 정규 표현식 및 replace 사용하여 단계 별 조건 수행
- 처음에 match()를 사용하여 일치하는 문자열 반환하려 했으나 일치하지 않을 때 null이 반환되어 replace()로 조건과 맞지 않는 문자열 교체하도록 하여 문제 해결
-
코드
function solution(new_id) {
let answer = '';
var reg = /[\{\}\[\]\/?,;:|\)*~`!^\+<>@\#$%&\\\=\(\'\"]/g;
answer = new_id.toLowerCase()
.replace(reg, '')
.replace(/\.{2,}/g, '.')
.replace(/^\.|\.$/g, '')
.substr(0, 15)
.replace(/^\.|\.$/g, '');
if(!answer) answer = 'a';
const last = answer[answer.length-1];
while(answer.length <= 2) answer += last;
return answer;
}