프로그래머스 신규아이디 추천

» JavaScript

프로그래머스 신규아이디 추천

문제

신규아이디추천

풀이

  1. 모든 대문자를 소문자로 치환
  2. 알파벳 소문자, 숫자, 빼기, 밑줄, 마침표를 제외한 모든 문자를 제거
  3. 마침표가 2번 이상 연속되면 마침표 하나로 치환
  4. 마침표가 처음이나 끝에 위치한다면 제거
  5. 빈 문자열이라면 ‘a’를 대입
  6. 길이가 16자 이상이면 첫 15개의 문자를 제외한 나머지 문자를 모두 제거
  7. 길이가 2자 이하라면 마지막 문자를 길이가 3이 될 때까지 반복해서 끝에 붙임
function solution(new_id) {
  const answer = new_id
    .toLowerCase()
    .replace(/[^\w-_.]/g, "")
    .replace(/\.{2,}/g, ".")
    .replace(/^\.|\.$/g, "")
    .replace(/^$/, "a")
    .slice(0, 15)
    .replace(/\.$/, "");
  const len = answer.length;
  return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
}

^: 문장의 시작 $: 문장의 끝 \w: word 문자 .{2,}: .이 최소 2개 이상 |: 또는

charAt: 해당하는 문자를 반환