[프로그래머스] 핸드폰 번호 가리기

최연서·2022년 1월 16일
0

알고리즘

목록 보기
9/30
post-thumbnail

오늘의 문제

📌 핸드폰 번호 가리기

문제 설명

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


제한 조건

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

내 풀이

function solution(phone_number) {
    let answer = ''; //answer 초기값 선언
    
    let a = phone_number.length; //phone_number의 개수
    let b = "*".repeat(a - 4); // a에서 4를 뺀 만큼 별 찍기
    let c = phone_number.substr(a - 4);//phone_number에서 뒤에서 네 번째 인덱스부터 끝까지만 변수 지정
        
    return answer = b + c; //두 개를 더해서 반환
}

😊 혜인님 풀이 😊

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

//'*'.repeat(phone_number.length-4) 부분 -> phone_number의 '길이-4' 만큼 '*'붙여준다.

//사용한 기본구문
//str.repeat(count);
//count : 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞)).
//'abc'.repeat(2);    // 'abcabc'

//phone_number.slice(-4) 부분 -> 뒤 4자리 반환하려는데 입력값의 길이가 일정하지 않아 뒤에서 인덱스를 찾아 반환하는 slice()를 사용

//var text = 'Mozilla';
//console.log(text.slice(-5, 2)); // => ""
//console.log(text.slice(-5, -2)); // => "zil"
profile
하고 싶은 것 하면서 삽니다

0개의 댓글

관련 채용 정보