https://programmers.co.kr/learn/courses/30/lessons/72410?language=javascript
function delSandE(new_id) {
if (/^[.]/.test(new_id)) {
new_id = new_id.substr(1);
}
if (/[.]$/.test(new_id)) {
new_id = new_id.substr(0, new_id.length - 1);
}
return new_id;
}
function solution(new_id) {
const regex = /[a-z0-9-_.]/g;
const dot = /[.]{1,}/g;
new_id = new_id
.toLowerCase()
.match(regex)
.join("")
.replace(dot, ".");
new_id = delSandE(new_id);
if (new_id.length === 0) {
new_id = "a";
} else if (new_id.length >= 16) {
new_id = new_id.substr(0, 15);
new_id = delSandE(new_id);
}
if (new_id.length <= 2) {
while (new_id.length < 3) {
new_id += new_id[new_id.length - 1];
}
}
return new_id;
}
아니 제 코드만 이렇게 더러워요?
고수의 코드는 남다르네.....
10줄로 끝내버리네 이걸.........
정규식 공부해야겠다......
'algorithm > js' 카테고리의 다른 글
[프로그래머스/js] 로또의 최고 순위와 최저 순위 (0) | 2021.10.27 |
---|---|
[프로그래머스/js] 영어 끝말잇기 (0) | 2020.05.07 |
[프로그래머스/js] JadenCase 문자열 만들기 (0) | 2020.05.07 |
[프로그래머스/js] 행렬의 곱셈 (0) | 2020.05.07 |
[프로그래머스] 문자열 압축 (0) | 2020.05.01 |
댓글