핸드폰 번호 가리기(Programmers)

이선민·2021년 8월 3일
0
// 핸드폰 번호 가리기

// 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
// 전화번호가 문자열 phone_number로 주어졌을 때,
// 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

// 제한 조건
// s는 길이 4 이상, 20이하인 문자열입니다.

// 입출력 예
// phone_number: "01033334444"  return: "*******4444"
// phone_number: "027778888"  return: "*****8888"

function solution(phone_number) {
  const len = phone_number.length - 4;
  return '*'.repeat(len) + phone_number.substring(len);

  /**
   * repeat() -> 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환한다.
   * str.repeat(count);
   * count -> 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수
   * 
   * substring() -> string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환한다.
   * str.substring(indexStart[, indexEnd])
   * indexStart -> 반환문자열의 시작 인덱스
   * indexEnd   -> 옵션, 반환문자열의 마지막 인덱스 (포함하지 않음)
   * 반환값 -> 기존문자열의 부분 문자열을 반환
   * indexEnd가 생략된 경우, substring() 문자열의 끝까지 모든 문자를 추출한다.
   */
}

{
  // 다른 풀이 1
  function solution(phone_number) {
    return phone_number.replace(/\d(?=\d{4})/g, "*");
  }
}

{
  // 다른 풀이 2
  function solution(phone_number){
    var result = "*".repeat(phone_number.length - 4) + phone_number.slice(-4);return result;
  }
}

0개의 댓글