[코테] 핸드폰번호 가리기

Noah·2022년 5월 5일
0

Coding Test

목록 보기
4/4
post-thumbnail

문제 설명

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

제한 사항

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

입출력 예

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

제출 답안

function solution2(phoneNumber) {
  let last = [];
  //  제한 조건이 성립되지 않으면, 함수 종료
  if (phoneNumber.length < 4 || phoneNumber.length > 20) return '';

  // 제한 조건이 성립시 반복문 실행
  for (let i = 0; i < phoneNumber.length; i++) {
    if (i < phoneNumber.length - 4) {
      last.push('*');
    } else {
      last.push(phoneNumber[i]);
    }
  }
  // 배열 -> 문자열로 전환
  return last.join('');
}

해설

  • 처음에 if 문을 통해 제한조건이 성립되지 않으면 return
  • for문으로 마지막 숫자 4자리를 제외하고 * 으로 변환
  • .join() 배열을 문자열로 변환

다른 풀이

function hide_numbers(s) {
  return s.replace(/\d(?=\d{4})/g, "*");
}
  • 정규식을 이용해서 처리
  • 정규식 학습이 필요
profile
프론트엔드가 꿈인 코린이

0개의 댓글