티스토리 뷰

문제설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

전화번호가 문자열 phone_number로 주어졌을 때,

전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한조건

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

 

입출력 예시

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

 

나의 풀이


function solution(phone_number) {
    let numberArr = phone_number.split('')
    for (let i = 0; i < numberArr.length-4; i++) {
        numberArr[i] = "*"
    }
    return numberArr.join("");
}

 

 

문자열은 불변이기 때문에 배열로 변환한뒤 처리해야 합니다.

 

배워야 할 풀이방법

1. 정규식 활용

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

정규 표현식 : 문자열에서 특정 문자 조합을 찾기 위한 패턴

2. repeat활용

repeat : 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환.

slice : 음수를 지정하면 뒤에서부터 카운트만큼 포함하여 새로운 배열 객체로 반환합니다.

function hide_numbers(s){
    var result = "*".repeat(s.length - 4) + s.slice(-4);
    return result;
  }

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함