목차
반응형
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 * 으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
나의 풀이
function solution(phone_number) {
const answer = phone_number.length - 4;
return '*'.repeat(answer) + phone_number.substring(answer);
}
다른 풀이
function hide_numbers(s) {
return s.replace(/\d(?=\d{4})/g, "*");
}
마무리
주어진 전화번호의 마지막 4자리를 제외한 나머지를 * 로 가려야한다.
변수 answer에 주어진 전화번호를 배열로 변환하면서 .length-4로 나머지 자리 수를 대입한다.
(10자리 라면 6, 12자리 라면 8이 대입된다.)
repeat(answer) 을 사용해 * 를 answer의 값 만큼 반복하고 substring(answer) 로 배열에서 answer의 값 자리 수 이후의 값을 반환한다.
예를 들어, 10자리 전화번호라면 -4된 6 이 answer의 값으로 대입된다.
그 다음 * 이 6번 반복되고 10자리 중 6번째 자리 이후의 값이 반환 되는 것이다.
이처럼 substring은 원하는 인덱스 번호 구간의 값을 반환 할 수 있다.
반응형