[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ ๊ท์์ด๋
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
function solution(new_id) {
var answer='';
//("๋ฌธ์์ด").replace(/์ ๊ทํํ์/, "๋์ฒด๋ฌธ์์ด")
//์๋ฌธ์๋ก ์นํ (1๋จ๊ณ)
new_id = new_id.toLowerCase()
// ์์ด ์๋ฌธ์ - _ . ๋ฅผ ์ ์ธํ ๋ฌธ์ ์ ๊ฑฐ (2๋จ๊ณ)
.replace(/[^\w-_.]/g, '')
// .์ด 2๊ฐ ์ด์์ด๋ฉด ํ๊ฐ๋ก ์นํ (3๋จ๊ณ)
.replace(/\.+/g, '.')
// ์ฒ์์ด๋ ๋์ .์ด ์์ผ๋ฉด ์ ๊ฑฐ (4๋จ๊ณ)
.replace(/^\.|.\$/g,'')
// ๋น ๋ฌธ์์ด์ด๋ฉด a ๋์
(5๋จ๊ณ)
.replace(/^$/g, 'a')
// 16๋ฒ์งธ ๊ธ์๋ถํฐ ์ญ์ , ๋ง์ฝ ์๋ฅธ ๋ฌธ์์ ๋ง์ง๋ง์ด .์ด๋ฉด ์ ๊ฑฐ (6๋จ๊ณ)
.slice(0,15).replace(/\.$/g, '')
let id_len = new_id.length;
// ๊ธธ์ด๊ฐ 3๋ณด๋ค ์ ์ผ๋ฉด ๋ง์ง๋ง ๊ธ์๋ฅผ ๋ง์ง๋ง์ ๋ถ์ธ๋ค. 7๋จ๊ณ
while (id_len < 3){
new_id = new_id + new_id.charAt(id_len-1);
++id_len;
}
answer = new_id;
return answer;
}
์ ๊ทํํ์ Reference
[JS] ๐ ์ ๊ทํํ์(RegExp) - ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌ + ์์ฉ ์์
์ ๊ทํํ์(Regular Expression) ์ ๊ท์(Regular Expression)์ ๋ฌธ์์ด์์ ํน์ ๋ด์ฉ์ ์ฐพ๊ฑฐ๋ ๋์ฒด ๋๋ ๋ฐ์ทํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๋ํ์ ์ผ๋ก ์ ๋ ฅ์นธ์ ์ ํ๋ฒํธ๋ ์ด๋ฉ์ผ์ ์ ๋ ฅํ๋ผ๊ณ ํ์๋ ์ณ์ง ์์
inpa.tistory.com
'Problem Solving > PROGRAMMERS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [python]ํ๋ก๊ทธ๋๋จธ์ค - ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2022.10.30 |
|---|---|
| [python]ํ๋ก๊ทธ๋๋จธ์ค - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (0) | 2022.10.29 |
| [python]ํ๋ก๊ทธ๋๋จธ์ค - ์ผ์ด์ฌ (0) | 2022.10.25 |
| [python]ํ๋ก๊ทธ๋๋จธ์ค-์ฝ๋ผ ๋ฌธ์ (0) | 2022.10.24 |
| [javascript]ํ๋ก๊ทธ๋๋จธ์ค - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2022.09.28 |
๋๊ธ