본문 바로가기
내일배움 과제/기타 과제

알고리즌 27 핸드폰 번호 가리기

by GREEN나무 2024. 12. 4.
728x90

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

JS

문제

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

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


계획

str.slice(-4);으로 뒤에 4글자 자르기

for 문으로 문자 *로 바꾸기

반환

 

 


참고, 풀이

문자열이라 앞 자리를 *로 바꾸기 전에 배열로 바꿔야함.

그러면 slice로 뒤에 4자리 확보하는 이유 없음. 

앞자리 *로 바꾸기

join으로 열을 문자열로 만들기

 


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

코드 간략화하기

function solution(phone_number) {
    return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4);
}

string.repeat() : 메서드에 주어진 수만큼 반복해서 붙인 새로운 문자열을 반환.


출처 

MDN : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat