COCO World

[Javascript/자바스크립트] 프로그래머스 Lv.1 - 핸드폰 번호 가리기 본문

코딩테스트/프로그래머스

[Javascript/자바스크립트] 프로그래머스 Lv.1 - 핸드폰 번호 가리기

코코월드주인장 2023. 1. 27. 15:24

🌷 문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

🌷 제한 조건

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

🌷 입출력 예

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

🌷 작성 솔루션

function solution(phone_number) {
    var answer = '';
    
    // 제한 조건(1) 성립
    if( phone_number.length >= 4 && phone_number.length <= 20) {
    	// repeat메소드 : phone_number -4번째 자리 요소 전까지 배열은 *로 바꾸어서 출력
        // slice메소드: phone_number의 -4번째에서 배열끝까지 문자열들 더해주기
        answer = '*'.repeat(phone_number.length-4) + phone_number.slice(-4)
    }
    return answer;
}

 

🌷 팀원분들의 작성 솔루션

(1)

function solution(phone_number) {
    let frontNumber = phone_number.substr(0,phone_number.length-4);
    let backNumber = phone_number.substr(-4,4);
    let star = frontNumber.replace(/[0-9]/g,'*');
 
    let result = star + backNumber;
    return result;
}

(2)

 

function solution(phone_number) {
    let answer = '';
    
    for(let i = 0; i < phone_number.length; i++) {
        if(i >= phone_number.length - 4) {
            answer += phone_number[i];
        } else {
            answer += '*'; 
        }
    }
     return answer;
 }