핸드폰 번호가리기

문제

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

제한조건

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

풀이방향

  • 뒷 자리 4자리 제외한 나머지를 * 처리

풀이

hidePhoneNumber.js
1
2
3
4
5
6
7
8
function hidePhoneNumber(phone_number) {
let answer = "";
let hideIndex = phone_number.length - 4;
answer = "*".repeat(hideIndex).concat( phone_number.substring(hideIndex, phone_number.length) );
return answer;
}

export { hidePhoneNumber };
hidePhoneNumber.test.js
1
2
3
4
5
6
7
import { hidePhoneNumber } from "../src/hidePhoneNumber";

describe("hidePhoneNumber", () => {
it("should return a string replaced with * except for the last 4 digits", () => {
expect(hidePhoneNumber("1234567890")).toBe("******7890");
});
});

출처

  • 프로그래머스

다른 풀이

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