🕊 Link

Lv1. 신규 아이디 추천 Javascript
https://programmers.co.kr/learn/courses/30/lessons/72410

🧑🏻‍💻 Code(javascript)

function solution(new_id) {
  const answer = new_id
    .toLowerCase() // 1 : 대문자롤 소문자로 대체
    .replace(/[^\w-.]/g, "") // 2 : [^k] k를 제외하고 모두 제거
    .replace(/\.{2,}/g, ".") // 3 : .이 2개 이상 반복되면 .으로 대체
    .replace(/^\.|\.$/g, "") // 4 : ^\. .으로 시작 + | 또는 + .$ .으로 끝 >> 제거
    .replace(/^$/, "a") // 5 : 빈문자열인지 확인    
    .slice(0, 15) // 6-1 : 15자로 자르기
    .replace(/\.$/, ""); // 6-2 : .으로 끝나면 제거
  const len = answer.length;
  return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len); // 7
}

💡 Solution

👨🏻‍💻💭 Self Feedback

정규표현식, toLowerCase, replace, slice, charAt, repeat

padStart(), padEnd()를 통해서 글자수를 맞추고 공백을 채울 수 있음.

const str = "123";
console.log(str.padStart(10, "0")); // "0000000123"
console.log(str.padEnd(10, "0")); // "1230000000"

  • 2021.04.16 - 최초 작성

댓글 환영 질문 환영
by.protect-me

profile
protect me from what i want

0개의 댓글

관련 채용 정보