프로그래머스 lv.1 핸드폰 번호 가리기

J·2023년 6월 19일
0

programmers

목록 보기
21/33

문제 링크 - 핸드폰 번호 가리기


문제 설명

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

제한 조건

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

입출력 예

phone_numberreturn
"01033334444""***4444"
"027778888""*8888"

풀이

  1. repeat 메서드 이용 "*" 문자를 phone_number의 길이에서 4를 뺀 값만큼 생성.
  2. slice 메서드 이용 phone_number의 마지막 4자리 추출.
  3. 둘을 더함.

코드

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

다른 사람의 코드

function hide_numbers(s){
  return s.replace(/\d(?=\d{4})/g, "*");
}
  • 정규식.
const solution = n => [...n].fill("*",0,n.length-4).join("")
    1. 문자열 n 배열 변환.
    2. fill 메서드 이용 인덱스 0부터 마지막에서 네 번째 요소(포함X)까지의 인덱스까지 "*"로 채움(대체).
    3. 배열을 문자열로 변환.

생각

  • 문자열의 패턴이나 조건이 복잡할 땐 정규식 사용하기.
profile
벨로그로 이사 중

0개의 댓글

관련 채용 정보