문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
문제 풀이
function solution(phone_number) {
var answer = '';
for(let i=0; i<phone_number.length; i++){
if(i>=phone_number.length-4)
answer+=phone_number[i];
else
answer+="*";
}
return answer;
}
for 문을 이용해서 뒤에 4자리부터의 숫자들은 숫자를 그대로 출력하게 두었고 그 외의 숫자들은 * 를 출력했다.
다른 풀이법
function hide_numbers(s){
let answer = "*".repeat(s.length-4) + s.slice(-4);
return answer;
}
repeat과 slice 함수를 이용해서 더 쉽게 쓴 풀이가 있었다.
- "*".repeat(s.length-4) : 문자열의 처음부터 마지막 4개 문자 이전까지를 별표로 채운다.
- s.slice(-4) : 문자열 's'의 마지막 4개 문자를 추출한다.
반복되는 문자열을 표시할 때는 repeat()를 사용하고 특정 부분을 추출할 때는 slice를 사용하면 된다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.1 정수 제곱근 판별 - JavaScript (3) | 2024.01.28 |
---|