min
프로그래머스 신규 아이디 추천 자바스크립트 본문
<문제>
https://school.programmers.co.kr/learn/courses/30/lessons/72410
<나의 풀이>
function solution(new_id) {
var answer = '';
//1.
new_id = new_id.toLowerCase()
//2.
new_id = new_id.replace(/[^\w\-\.]/g , "")
//3.
new_id = new_id.replace(/\.{2,}/g,".")
//4.
new_id = new_id.replace(/^\./,"")
new_id = new_id.replace(/\.$/,"")
//5.
new_id = (new_id.length === 0) ? 'a' : new_id
//6.
new_id = new_id.slice(0,15)
new_id = new_id.replace(/\.$/,"")
//7.
while (new_id.length < 3) {
new_id += new_id[new_id.length - 1]
}
return new_id;
}
<다른 사람의 풀이>
function solution(nid) {
var ans = "";
for (let i = 0; i < nid.length; i++) {
let c = nid[i].toLowerCase();
if ("0123456789abcdefghijklmnopqrstuvwxyz.-_".indexOf(c) === -1) continue;
if (c === "." && ans[ans.length - 1] === "." && nid[i - 1]) continue;
ans += c;
}
if (ans[0] === ".") ans = ans.slice(1);
ans = ans.slice(0, 15);
if (ans[ans.length - 1] === ".") ans = ans.slice(0, ans.length - 1);
if (!ans) ans = "a";
while (ans.length < 3) ans += ans[ans.length - 1];
return ans;
}
<궁금중>
정규표현식
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_expressions
'알고리즘' 카테고리의 다른 글
프로그래머스 예산 자바스크립트 (0) | 2023.06.20 |
---|---|
프로그래머스 약수의 개수와 덧셈 자바스크립트 (0) | 2023.06.20 |
프로그래머스 숫자 문자열과 영단어 (1) | 2023.06.19 |
프로그래머스 모의고사 자바스크립트 (0) | 2023.06.19 |
프로그래머스 시저암호 자바스크립트 (0) | 2023.06.19 |