티스토리 뷰
문제설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때,
전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한조건
phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예시
phone_number | return |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
나의 풀이
function solution(phone_number) {
let numberArr = phone_number.split('')
for (let i = 0; i < numberArr.length-4; i++) {
numberArr[i] = "*"
}
return numberArr.join("");
}
문자열은 불변이기 때문에 배열로 변환한뒤 처리해야 합니다.
배워야 할 풀이방법
1. 정규식 활용
function hide_numbers(s){
return s.replace(/\d(?=\d{4})/g, "*");
}
정규 표현식 : 문자열에서 특정 문자 조합을 찾기 위한 패턴
2. repeat활용
repeat : 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환.
slice : 음수를 지정하면 뒤에서부터 카운트만큼 포함하여 새로운 배열 객체로 반환합니다.
function hide_numbers(s){
var result = "*".repeat(s.length - 4) + s.slice(-4);
return result;
}
'개발일지 > 문제 풀이' 카테고리의 다른 글
가운데 글자 가져오기(substr, substring) (0) | 2024.01.19 |
---|---|
없는 숫자 더하기 (0) | 2024.01.18 |
x만큼 간격이 있는 n개의 숫자 (0) | 2024.01.10 |
프로그래머스 문자열추출 문제 풀이.. (1) | 2024.01.07 |
문제풀이.. 짝수의 합 / 배열의 평균값 (1) | 2024.01.07 |