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

morecodeplease·2024년 3월 19일
0

프로그래머스 Lv 1

목록 보기
18/19
post-thumbnail

🌭 문제 설명

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

🍗 제한 사항

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

🎁 입출력 예시


😎 나의 풀이

function solution(phone_number) {; 
  let answer = phone_number.slice(0,-4).replace(/[0-9]/g,"*");
  let answer2 = phone_number.slice(-4);
  result = answer + answer2;
  return result;
}
  1. 변수 answerslicephonenumber-4길이만큼 잘라내고 그부분을 replace*로 치환
  2. 뒷자리를 살리기 위해 한번 더 slice
  3. 두개의 문자열을 더해서 합해준 result를 return

🧵 다른 풀이

function hide_numbers(s){ // 내가 하고싶었던 풀이
  return s.replace(/\d(?=\d{4})/g, "*");
}
  1. 입력받은 s를 replace로 정규표현식을 써서 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 return

다른 풀이의 방법을 내가 하고 싶었지만 정규표현식 이해도가 낮아서 저런식이 있는지 몰랐음 정규표현식 잘알아두면 가독성은 떨어지지만 코드가 훨씬 간결해지네

profile
Everyday's a lesson

0개의 댓글