본문 바로가기

알고리즘구현능력/문제해결능력

[javascript] 프로그래머스/ 핸드폰 번호 가리기

1
2
3
4
5
6
7
8
9
10
11
12
13
//뒤에서 4자리만 그대로 ,,
function solution(phone_number) {
    var answer = '';
    for(let i=0;i<phone_number.length;i++){
        if(i>=phone_number.length-4){
            answer += phone_number[i];
        }
        else{
            answer +="*";
        }
    }
    return answer;
}
cs

정규표현식

 

1
2
3
4
5
//뒤에서 4자리만 그대로 ,,
function solution(phone_number) {
    var answer = phone_number.replace(/\d(?=\d{4})/g,"*");
    return answer;
}
cs

사용한 정규식 규칙 정리..

/      / 패턴을 쓸공간

/g는 모든 문자열에 대해서 적용.. g를 쓰지않으면 한개의 문자에 대해서만 적용이됨..

\d는 모든 숫자 [0-9]와 동일

x(?=y) : y에 대한 조건을 허용하는 것을 뒤따라오는 x에만 대응된다. 대응 되면 x의 값을 바꾼다.

x(?!y) : x에 대한 조건을 허용하는 것을 뒤따라오는 y에만 대응된다. 대응 되면 x의 값을 바꾼다.

{n} 앞 표현식이 n번 나타나는 부분에 대응된다. 반드시 양의 정수여야함..