프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
phone_number | return |
---|---|
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
function solution(num) {
const backNum = num.length - 4;
let result = "";
for (let i = 0; i < num.length; i++) {
if (i >= backNum) {
result += num[i];
continue;
}
result += "*";
}
return result;
}
for문을 통해 인자로 받은 num
의 길이만큼 반복합니다.
backNum
변수에는 반복문 도중 숫자가 표시되어야할 부분을 체크하기 위해
num
의 길이에서 4를 뺀 값을 할당시켜놓았고
result
에는 반복시마다 알맞은 문자열이 추가됩니다.
반복시마다 i
가 끝 4자리 수에 진입할 때부터는 num[i]
로
숫자를 result에 집어넣고 아닐 경우 *
을 result
에 추가합니다.
function solution(num) {
return ("*".repeat(num.length-4)) + num.slice(-4);
}
JS의 문자열 메소드 중 하나인 repeat메소드를 이용한 풀이입니다.
str.repeat(count)
repeat
메소드는 앞에있는 문자열을 인자로 들어온 숫자만큼 반복하며
뒤의 4자리는 num
에 slice메소드를 적용하여 -4, 즉 뒤 4자리부터 끝까지의 문자열을 반환합니다.