programmers 코딩테스트 : 핸드폰 번호 가리기
핸드폰 번호 가리기
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
첫번째 풀이
<script>
function solution(str) {
let answer = "";
let strLength = str.length - 4; // 숫자
let strCut = str.slice(0, strLength); //숫자 > 별까지의 str
let star = "*";
answer = str.replace(strCut, star.repeat(strLength));
return answer;
}
</script>
- 전화번호의 뒷 4자리를 제외한 나머지 숫자를 노출하기 위해 slice로 첫번째부터 strLength까지 자르기
- answer에 replace()로 자른 숫자를 star로 strLength만큼 노출되게 만들기
str.slice(시작, 끝)
📌 문자열을 시작과 끝까지 추출해 새로운 문자열 반환함
📌 시작하는 index는 0부터 시작하고, 음수부터 시작하는 경우strLength(문자열 길이) + 시작
으로 나옴
📌 시작 index가 전체 문자열의 길이보다 크거나 같은 경우 빈 문자열을 반환하고, 끝 index가 없다면 문자열의 마지막까지 추출
repeat(반복 횟수)
📌 주어진 횟수만큼 반복해서 붙인 새로운 문자열을 반환한다.
두번째 풀이
<script>
function solution(phone_number) {
answer = phone_number.replace(/\d(?=.{4})/g, '*');
return answer;
}
</script>
정규식을 사용한 풀이 방법 /\d(?=.{4})/g
: 숫자 뒷자리 4개 제외하고 / 모두 찾은 후 replace *
정규식 만드는 사이트 : https://regexr.com/
Author And Source
이 문제에 관하여(programmers 코딩테스트 : 핸드폰 번호 가리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyeondex/programmers-코딩테스트-핸드폰-번호-가리기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)