[Programmers : JavaScript ] 핸드폰번호 가리기

  • 핸드폰번호 가리기 : JavaScript

문제 설명

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

제한사항

 

  • s는 길이 4 이상, 20이하인 문자열입니다.

 

입출력 예

phone_number return
"01033334444" "*******4444"
"027778888" "*****8888"

 

작성한 풀이

function solution(phone_number) {
    let pn = phone_number;
    var answer = "*".repeat(pn.length - 4) + pn.slice(-4);
    return answer;
}

 

다른 풀이

1) 

function hide_numbers(s) {
  return s.replace(/\d(?=\d{4})/g, "*");
}
 

2)

function hide_numbers(s){
  var result = "";
  for(var i=0;i< s.length;i++){    
    result += i < s.length -4 ? "*" : s.charAt(i);
  }  
  return result;
}


3)

const solution = n => [...n].fill("*",0,n.length-4).join("")


4)

function hide_numbers(s){
  var result = Array(s.length-3).join("*") 
  var cut = s.substring(s.length-4) 
  return result+cut;
}