[JavaScript][Programmers] 핸드폰 번호 가리기

조준형·2021년 8월 14일
0

Algorithm

목록 보기
69/142
post-thumbnail

🔎 핸드폰 번호 가리기

❓ 문제링크

https://programmers.co.kr/learn/courses/30/lessons/12948

📄 제출 코드

// 1. split & join
// function solution(phone_number) {
//     let arr = phone_number.split("");
//     let len = phone_number.length;

//     for (let i = 0; i < len - 4; i++) {
//         arr[i] = '*';
//     }

//     var answer = arr.join('');
//     return answer;
// }
function solution(phone_number) {
    // 2. repeat & slice
    // let answer = '*'.repeat(phone_number.length - 4) + phone_number.slice(-4);

    // 3. 정규표현식
    let answer = phone_number.replace(/\d(?=\d{4})/g, '*');
    return answer;
}
let phone_number = "01033334444";
console.log(solution(phone_number));

핸드폰 번호 4개의 뒷자리 빼고는 다 로 바꾸는 문제다.
총 3가지 방법이 있었다.
1. split & join
split을 이용해 휴대폰번호를 먼저 나누고, 뒤에서 4번째 까지
로 바꾼 후 배열을 join시킨다.

2. repeat & slice
내가 생각 못 했던 방법이다.
repeat을 자주 사용해보지않아 잊고 있었다.
*를 휴대폰번호길이에서 -4한거만큼 repeat으로 반복시켜 휴대폰번호에서 slice로 뒤에서 4개를 잘라서 이어 붙이는 방법이다.

3. 정규표현식
문자열을 어떤 문자로 바꾼다가 문제라서 바로 replace가 생각났었다.
정규표현식으로 replace를 사용하여 뒷자리 4개 빼고 모두 *로 바꾸는 방법이다.

profile
깃허브 : github.com/JuneHyung

0개의 댓글