(JS) 알고리즘 - 핸드폰 번호 가리기

2023. 6. 20. 01:41

✔ 문제 요약
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 

전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

 

✔ 문제 풀이 


    function solution(phone_number) {
        let hidden = "*".repeat(phone_number.length-4);
        let show = phone_number.substr(lengthMinusFour);
        return hidden + show;
    }

1) 번호 길이에서 4자리를 제외한 수 만큼 '*'를 출력한다. 

문자열.repeat(반복할 수)

 

2) 문자열을 자르는 메서드를 사용해서 번호 길이에서 마지막 4자리를 출력한다.

이때 사용할 수 있는 메서드는 두가지가 있다 : 

 

.substring(start, end) : phone_number.substring(phone_number.length - 4);

ⓑ .slice(start, end) : phone_number.slice(-4);

 

둘 다 시작 인덱스부터 종료 인덱스 직전까지의 문자열을 반환한다. 

차이점은 slice는 음수를 인식해서 -4를 입력하면 맨 뒤에서부터 4자리를 잘라서 반환할 수 있는데,

.substring(-4)을 하면 음수를 인식하지 못해서 그대로 반환한다는 것이다. 

그래서 이 문제에서 굳이 substring을 사용하고 싶다면, 글자길이에서 4를 뺀 만큼 반환하라고 요구해야 한다. 

 

3) 1번과 2번을 합친다.