[Programmers] 핸드폰 번호 가리기 - JS

지냐킴·2022년 7월 18일
0

코딩테스트

목록 보기
3/28
post-thumbnail

✅문제 설명

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

  • 제한 조건
    phone_number는 길이 4 이상, 20이하인 문자열입니다.
  • 입출력 예
    phone_number return
    "01033334444" "***4444"
    "027778888" "*8888"
  • 기본코드
function solution(phone_number) {
    var answer = '';
    return answer;
}

✅ 내 문제풀이

function solution(phone_number) {
    const len = phone_number.length - 4;
    return "*".repeat(len) + phone_number.slice(-4);  
    // 뒷 4자리를 제외한 번호들을 repeat()를 사용해 *로 변환하고, slice()를 이용해 뒷 4자리를 불러온다
    var answer = '';
    return answer;
}

String.repeat() : 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.
자세한 설명

String.slice() : 배열의 일부분을 잘라내어, 새로운 배열로 리턴하기 위해서는 slice() 함수를 사용합니다. 음수를 사용할 경우 뒤부터 불러온다.
자세한 설명
자세한 설명2

✅ 다른 풀이 방법

다른 풀이방법
1) String.substring() 사용하여 바뀌지 않은 뒷 4자리도 가져오기

function solution(phone_number) {
    const len = phone_number.length - 4;
    return "*".repeat(len) + phone_number.substring(len);
    // 뒤 4자리를 기준으로 앞의 번호들을 repeat를 사용해 *처리해주고, substring은 인덱스 값을 사용해 시작점을 정해줄 수 있다.
}

자세한 설명
substr, substring, slice 비교

profile
코린이일기

0개의 댓글

관련 채용 정보