프로그래머스[Level 1] 핸드폰 번호 가리기
문제
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 사항
phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
풀이
function solution(phone_number) {
let arr = phone_number.split("");
let n = arr.length;
for(let i=0; i<n-4;i++){
arr[i] = "*";
}
return arr.join("");
}
- 문자열을 배열로 바꿔준 후 뒷 4자리를 제외한 요소를 *로 바꿔준다.
- 반환할 땐 다시 문자열로 만들어서 반환한다.
다른 풀이
function hide_numbers(s) {
return s.replace(/\d(?=\d{4})/g, "*");
}
정규 표현식과 replace 메서드를 이용한 풀이
정규표현식
특정 패턴의 문자열을 찾기 위한 식. /이안에 사용한다./
예시
/대/ : 대를 하나만 찾는다.
/한/g : 한을 모두 찾는다. g(global)을 의미한다.
/[0-9]/g : 숫자 0~9를 모두 찾는다.
/[a-zA-Z]/g : 영어알파벳 대문자/소문자를 모두 찾는다.
/[^0-9]/g : 숫자0~9가 아닌 것을 모두 찾는다. ^(NOT)을 의미한다.
해석
\d : 숫자.
\D : 숫자가 아닌 것.
\d(?=\d{4})g 뒤에 4자리의 숫자를 제외한 모든 숫자를 의미한다.
("문자열").replace(/정규표현식/, "대체문자열")
이번 문제에서 사용한 패턴이다.
정규표현식 정보 출처
https://curryyou.tistory.com/234 [카레유]
Author And Source
이 문제에 관하여(프로그래머스[Level 1] 핸드폰 번호 가리기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bkdragon0228/프로그래머스Level-1-핸드폰-번호-가리기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)