🧬알고리즘/Programmers

[JavaScript] 핸드폰 번호 가리기

뉴발자 2024. 8. 21.
728x90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[JavaScript] 핸드폰 번호 가리기

 

 

문제

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가린다.

 

전화번호가 문자열 phone_number로 주어질 때,

 

전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 반환하는 함수를 작성하라.

 

 

예시

phone_number return
01033334444 *******4444
027778888 *****8888

 

나의 풀이

const solution = (phone_number) => '*'.repeat(phone_number.length - 4) + phone_number.substring(phone_number.length - 4);

 

 

다른 풀이

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

 

 

풀이 방법

먼저 phone_number의 길이의 -4만큼 *을 반복하기 위해 repeat() 함수를 사용해서 반복해줬다.

 

그리고 substring을 사용해서 phone_number의 뒤 4자리를 잘라줬다.

 

이 두개의 문자열을 합쳐서 반환해줬다.

 

다른 사람의 풀이를 보면 정규식을 사용해서 더욱 간결한 코딩이 가능해졌다.

 

정규식으로 푼다는 생각은 전혀 못했던 나로서는 엄청난 발견을 한 느낌이었다.

 

 

 

 

 

 

 

 

 

 

728x90

댓글