2021 KAKAO BLIND RECRUITMENT
이 게시글은 마크다운 작성법으로 인해 특수문자에서 오류가 발생하여
부득이하게 문제를 캡처하여 작성하였습니다. 문제 설명을 자세하게 읽고 싶으시다면
맨 아래의 링크를 클릭하여 주세요.
function solution(new_id) {
let id = new_id.toLowerCase() // 1단계 : 소문자 치환
.replace(/[^a-z\d-_.]/g, "") // 2단계 : 알파벳 소문자, 숫자, 빼기, 밑줄, 마침표가 아니면 제거
.replace(/\.{2,}/g, ".") // 3단계 : 마침표 2개 -> 1개
.replace(/^\.|\.$/g, "") // 4단계 : 처음 or 끝 마침표 제거
.replace(/^$/, "a") // 5단계 : 빈 문자열 "a" 대입
.substr(0, 15) // 6단계 : 15자 초과 문자 제거
.replace(/\.$/g, ""); // 제거 후 끝 마침표 제거
// 7단계 : 길이가 2자 이하라면 3이 될 때까지 마지막 문자 반복
for (let i = id.length; i < 3; i++)
id += id.charAt(id.length - 1);
return id;
}