핸드폰 번호 가리기 (Level 1)

문제

별이는 헬로월드텔레콤에서 고지서를 보내는 일을 하고 있습니다. 개인정보 보호를 위해 고객들의 전화번호는 맨 뒷자리 4자리를 제외한 나머지를 “*”으로 바꿔야 합니다.

전화번호를 문자열 s로 입력받는 hide_numbers함수를 완성해 별이를 도와주세요

예를들어 s가 “01033334444”면 “*4444”를 리턴하고, “027778888”인 경우는 “*8888”을 리턴하면 됩니다.

풀이

function hide_numbers(s) {
  let hide = null;
  hide = s.substr(0,s.length-4).replace(/\d/g,"*")
  s = s.substr(s.length-4,4)
  return hide.concat(s)
}

hide라는 빈 문자열을 생성 후에 s에서 뒤에 네자리를 제외한 나머지를 *로 치환해주고

나머지 네자리는 s에 다시 할당해 둘을 concat으로 이어줌

다른 사람의 풀이

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

정규식은 하루빨리 익혀야겠다.

+ Recent posts