Algorithm - 핸드폰 번호 가리기

문제 설명

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

제한사항

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

입출력 예

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

나의 풀이

function solution(phone_number) {
  const length = phone_number.length;
  return "*".repeat(length - 4) + phone_number.substring(length - 4, length);
}

풀이 설명

phone_number가 몇 자리가 됐든 뒤의 네 자리만 남기면 되기 때문에 substring을 이용해 뒤의 네 자리만 남겨준다!
앞의 *의 길이는 은 전체길이-4를 이용해 구해준 뒤 두 개를 더해주면 끝!

다른 사람의 풀이

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

다른 사람의 풀이 설명

나도 나름 짧게 썼다고 생각했는데 이렇게 정규식을 이용하는 방법도 있더라..!

느낀 점

간단한 문제라도 더 쉬운방법이 나온다!

좋은 웹페이지 즐겨찾기