문제
제한 조건
입출력 예
phone_number | return |
---|---|
"01033334444" | "* * * * * * *4444" |
"027778888" | "* * * * *8888" |
문제 풀이
function solution(phone_number) {
return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4);
// phone_number 길이에서 4를 뺀 만큼 *을 만들어 주고 (*이 앞 부터 7개 생김)
// phone_number의 0부터 마지막 -4자리 전 까지 slice 한다.
}
그 후 앞 뒤 값을 더하면 마지막 4자리를 제외한 전화번호는 모두 *로 가려진다.
하단의 정규식 풀이도 있는데, 이해하려고 몇시간을 노력했으나 너무 어려웠다. 같이 스터디 하는 분에게 여쭤봐야겠다.
function solution(phone_number) {
const regex = /\d(?=\d{4})/mg;
return phone_number.replace(regex, "*");
}