[코딩 테스트 기술 늘리기


해결하기 전에 생각

디스크..?

마지막 4자리는 지우고 나머지는 바꾸기 기능을 사용할 수 있습니다!

정규식으로만..?(실패하다)

올바른 응답 코드

function solution(phone_number) {
  let numberSlice = "";
  let answer = "";
  numberSlice = phone_number.slice(phone_number.length - 4);
  answer = phone_number.slice(0, phone_number.length - 4).replace(/(0-9)/gi, "*");
  answer = answer + numberSlice;
  return answer;
}

설명

1. 배열로 지정 전화 번호 ~에 디스크 기능마지막 4자리를 추출하는 데 사용합니다.(슬라이스 기능이 중요합니다!!!)

2. 같은 방법으로 마지막 4자리를 제외한 나머지 숫자를 추출합니다..(디스크 중요!!!)

삼. 나머지 숫자에서 대리자 기능과 정규 표현식숫자를 ‘*’로 대체하는 데 사용합니다.(정규식 중요!!!)

4. 답변 추출된 마지막 4자리 numberSlice추가.

+) 정규식으로 풀기

==> 정규표현식 잘 쓰면 엄청 쉬워지는데…

function solution(phone_number) {
  return(phone_number.replace(/\d(?=\d{4})/g, "*"));
}